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

Respuesta
 
Herramientas
  #1  
Viejo 13/03/15, 02:15:33
Array

[xs_avatar]
cristobal22 cristobal22 no está en línea
Usuario poco activo
 
Fecha de registro: mar 2015
Mensajes: 2
Modelo de smartphone: lg g3
Tu operador: Movistar
sqlite android

hola hola , espero que esten bien estoy haciendo una aplicacion en android y estoy ocupando sqlite me funciona todo perfecto el unico problema es al momento de ordenar mis datos ya que quiero que se ordene de forma ascendete por fecha, en la base bueno parametros DATE en formato DD-MM-YYYY y para hacer la consulta hago:

Cursor c=db.query("rutinas", columns, null, null, null, null, "fecha"+" ASC");

el problema es que igual me quedan desordenadas .

como podria ordenar mis datos por fecha?

Gracias
Responder Con Cita


  #2  
Viejo 14/03/15, 18:40:21
Array

[xs_avatar]
Dild0 Dild0 no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Mensajes: 856
Tu operador: Pepephone

Creo que sqlite no tiene DATES por lo que lo ordena en formato String

La verdad desconozco como se podría hacer se me ocurren dos maneras quizá exista algo más fácil.

La primera parsea la fecha de la query poniendola en juliano o bien YYYYMMDD como number,

Otra opción es ordenarlo en java si lo que retornas es un arraylist puedes ordenarlo implementando Comparator
__________________
Responder Con Cita
  #3  
Viejo 14/03/15, 19:46:25
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
SQLite efectivamente no tiene DATE, así que estarás almacenando DDMMYYYY en NUMERIC, y eso efectivamente no te dará nunca un orden correcto 02022015 es mayor que 03012015 en DATE, pero no en NUMERIC.

Puedes hacer lo que dice Dild0, que siempre te dará un orden correcto en NUMERIC, o puedes almacenar el CurrentTimeMillis.
Responder Con Cita
  #4  
Viejo 17/03/15, 12:45:24
Array

[xs_avatar]
androizado androizado no está en línea
Miembro del foro
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Estoy con ambos compañeros que te comentaron anteriormente, almacena por CurrentTimeMillis();

Código:
long time = System.currentTimeMillis();
Log.i("tu tag", "El tiempo en milisegundos es: "+time);
Si necesitas pasar los milisegundos a formato fecha puedes hacer esto otro:

Código:
long milisegundos = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
Date resultado = new Date(milisegundos);
Log.i("tu tag", "En formato fecha: "+resultado);
Espero que te sirva
Responder Con Cita
Respuesta

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



Hora actual: 14:41:33 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /