Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 12/03/15, 22:59:17
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Mostrar texto en determinadas fechas del calendario.

Tengo un TextView en el cual quiero mostrar un numero o texto cuando lleguen determinadas fechas, por ejemplo, el 5 de Mayo el textview muestre el texto "prueba", el 10 de Junio muestre otro texto, etc... hay manera de hacerlo?.
Responder Con Cita


  #2  
Viejo 12/03/15, 23:50:33
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Si te refieres a si existe alguna librería o método que haga eso, no conozco ninguno.

Pero no es muy difícil de programar, con SQLite incluido para el texto que quieres para cada fecha.
Responder Con Cita
  #3  
Viejo 13/03/15, 10:42:53
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
No, libreria no, solamente seleccionar determinadas fechas y que en la aplicacion en un textview se muestre el contenido de esas fechas.
Responder Con Cita
  #4  
Viejo 13/03/15, 11:43:19
Avatar de DaSound
DaSound DaSound no está en línea
Desarrollador
Mensajes: 8,578
Compra y venta: (1)
 
Fecha de registro: oct 2008
Localización: Madrid
Mensajes: 8,578
Modelo de smartphone: iPhone X 256GB / iPad Pro 10.5 / iPhone 6s Plus /
Versión de ROM: iOS
Tu operador: Movistar
Mencionado: 68 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kaiser75 Ver Mensaje
Tengo un TextView en el cual quiero mostrar un numero o texto cuando lleguen determinadas fechas, por ejemplo, el 5 de Mayo el textview muestre el texto "prueba", el 10 de Junio muestre otro texto, etc... hay manera de hacerlo?.
Cada vez que arranque la aplicación quieres que ese TextView muestre un contenido distinto no?

Pues en el onCreate u onCreateView de la activity o fragment donde se encuentre el TextView, haces:

Código:
TextView txFechas = (TextView) findviewById(R.id.txFecha);

String fecha;
Date d = new Date();

fecha=new SimpleDateFormat("dd-MM-yyyy").format(d);

//Después obtienes la fecha que quieras con un Date, y actualizas el contenido del textview, ya sea con la fecha, o con lo que tú quieras según el día:

if(fecha.equals("13/03/2015"))
{
     String texto = "Fiestón que es viernes!!"
}

txFechas.setText(texto);
Si actualizar el campo te da problemas, sobre todo en los fragments, haz todo esto en el onResume().

Espero que te sirva!

Última edición por DaSound Día 13/03/15 a las 12:02:27
Responder Con Cita
Los siguientes 2 usuarios han agradecido a DaSound su comentario:
  #5  
Viejo 13/03/15, 16:41:44
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Gracias DaSound, eso es exactamente lo que quiero hacer, pero no me funciona, no me muestra los textos
Responder Con Cita
  #6  
Viejo 13/03/15, 20:13:45
Avatar de DaSound
DaSound DaSound no está en línea
Desarrollador
Mensajes: 8,578
Compra y venta: (1)
 
Fecha de registro: oct 2008
Localización: Madrid
Mensajes: 8,578
Modelo de smartphone: iPhone X 256GB / iPad Pro 10.5 / iPhone 6s Plus /
Versión de ROM: iOS
Tu operador: Movistar
Mencionado: 68 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kaiser75 Ver Mensaje
Gracias DaSound, eso es exactamente lo que quiero hacer, pero no me funciona, no me muestra los textos
Metiste el código en el onResume()? Hay veces que directamente en el onCreateView no refresca. Si no tuvieras el onResume incluido, inclúyelo a mano, con este código:

Código:
  @override
    public void onResume(){
        super.onResume();

     //Código de usuario.

    }

Métele todo el código ahí y vuelve a probar.
Responder Con Cita
  #7  
Viejo 14/03/15, 10:57:08
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Si, he probado en onCreate y en onResume y nada.
Responder Con Cita
  #8  
Viejo 18/03/15, 19:26:58
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Al fin he dado con la solucion, funciona correctamente y bastante sencillo

Código:
        TextView txt1 = (TextView) findViewById(R.id.infotxt);
        
        Calendar today = Calendar.getInstance();
        int dayOfMonth = today.get(Calendar.DAY_OF_MONTH);
        int month = today.get(Calendar.MONTH);
        
        if (month == Calendar.MARCH && dayOfMonth == 19) {          
            txt1.setText("Texto a mostrar");
        }
Responder Con Cita
Gracias de parte de:
  #9  
Viejo 20/03/15, 11:42:28
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Volviendo al tema del calendario, hay manera de hacer lo mismo pero con un rango de fechas? por ejemplo del 19 al 25 de marzo muestre un texto, del 10 al 20 otro, etc

este es el codigo que muestra una fecha determinada

if (month == Calendar.MARCH && dayOfMonth == 19) { <-- aqui como poner el rango?
txt1.setText("Texto a mostrar");
}
Responder Con Cita
Gracias de parte de:
  #10  
Viejo 20/03/15, 12:35:46
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Código:
if (month == Calendar.MARCH && dayOfMonth >= 19 && dayOfMonth <= 25) {
txt1.setText("Texto a mostrar");
}
Y si las dos fechas se refieren a meses distintos consecutivos, por ejemplo del 19 de marzo al 5 de abril...

Código:
if ((month == Calendar.MARCH && dayOfMonth >= 19) || (month == Calendar.APRIL && dayOfMonth <= 5)) {
txt1.setText("Texto a mostrar");
}
He puesto paréntesis de más para que quede más clara la condición

Y ya por completar, aunque es trivial, si fuera del 19 de marzo al 5 de mayo tendrías que considerar abril entero también. Aquí ya he quitado los paréntesis sobrantes (& tiene preferencia sobre |, da igual ponerlos que no)

Código:
if (month == Calendar.MARCH && dayOfMonth >= 19 || month == Calendar.APRIL || month == Calendar.MAY && dayOfMonth <= 5) {
txt1.setText("Texto a mostrar");
}

Última edición por mocelet Día 20/03/15 a las 12:45:19
Responder Con Cita
Los siguientes 2 usuarios han agradecido a mocelet su comentario:
  #11  
Viejo 21/03/15, 11:07:38
Avatar de gonza28
gonza28 gonza28 no está en línea
Desarrollador
Mensajes: 4,191
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Versión de ROM: Android Lollipop 5.1.1
Tu operador: Personal
Mencionado: 6 comentarios
Tagged: 0 hilos
Dios me vino guiando hasta este post

juesto necesito lo mismo y a probar. se agradece.
Responder Con Cita
Gracias de parte de:
  #12  
Viejo 21/03/15, 11:44:48
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Gracias mocelet, crack...probado y funcionando perfecto, justo lo que necesitaba
Responder Con Cita
  #13  
Viejo 25/03/15, 19:20:33
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Volviendo al post de las fechas, estoy intentando mostrar una notificacion en la barra de estado en determinadas fechas a una hora especifica, tengo la notificacion creada y si la lanzo desde un boton me funciona, pero como puedo hacer para que se lance sin abrir la aplicacion en una fecha del mes a una hora especifica?

He probado con "Calendar.HOUR_OF_DAY" y "Calendar.MINUTE" , pero nada .
Responder Con Cita
  #14  
Viejo 25/03/15, 19:41:24
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Tienes que usar el AlarmManager para programar un evento en cierto momento
Responder Con Cita
Gracias de parte de:
  #15  
Viejo 25/03/15, 20:14:03
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Con AlarmManager no hace falta tener la aplicacion abierta no?...o si?
Responder Con Cita
  #16  
Viejo 25/03/15, 20:39:06
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
No, está hecho para eso, por si quieres ejecutar código en un momento dado aunque tu app no esté ejecutándose.
Responder Con Cita
  #17  
Viejo 27/03/15, 20:56:07
Avatar de gonza28
gonza28 gonza28 no está en línea
Desarrollador
Mensajes: 4,191
 
Fecha de registro: feb 2012
Localización: INTERESA?
Mensajes: 4,191
Modelo de smartphone: Samsung Galaxy Note 4
Versión de ROM: Android Lollipop 5.1.1
Tu operador: Personal
Mencionado: 6 comentarios
Tagged: 0 hilos
@mocelet
si quisiera mostrar una imagen en lugar de un textview, como sería?

Segunda:
Sabes de algun tutorial para las notificaciones con el AlarmManager?

saludos
Responder Con Cita
  #18  
Viejo 27/03/15, 22:25:11
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Pues igual pero con el método setImageResource del ImageView que quieras cambiar. Dentro del if puedes hacer lo que quieras...

La documentación de Android en general es bastante buena, y las APIs suelen tener ejemplos. Seguro que en google te salen un montón de tutoriales más.
Responder Con Cita
Gracias de parte de:
  #19  
Viejo 19/01/16, 12:51:13
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Volviendo al tema del calendario, hay manera de ir actualizando un progressbar de una fecha a otra?, en ves de actualizarlo por ejemplo manualmente con "progress.setProgress(25);" que se actualice dentro de un rango de meses o dias?.

Por ejemplo del 19 e enero al 13 de diciembre, que se vaya actualizando la barra de progreso.
Cita:
if ((month == Calendar.JANUARY && dayOfMonth >= 19) || (month == Calendar.DECEMBER && dayOfMonth <= 13)) {

// aqui actualizar el porcentaje del progressbar segun avancen las fechas

}
Responder Con Cita


  #20  
Viejo 19/01/16, 14:40:18
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Tendrás que contar los días entre el principio y el final, y eso se lo pasas al progress.setMax

Y tendrás que contar los días que han pasado desde la fecha inicial, y eso se lo pasas al progress.setProgress

Aunque supongo que eso ya lo sabías Lo divertido es contarlas teniendo en cuenta que está febrero por ahí que varía su duración, lo mejor es usar la propia clase Calendar o una biblioteca que facilite la vida como "Joda time" (http://www.joda.org/joda-time) que ya tiene un método que se llama daysBetween
Responder Con Cita
Los siguientes 2 usuarios han agradecido a mocelet su comentario:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 13:33:12 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007