2015-09-06 9 views
5

Sto tentando di memorizzare un oggetto Person con ActiveAndroid. Ho impostato la data di nascita in questo modo: person.setBirthdate(new java.sql.Date((new Date()).getTime()));. Dopo aver assegnato tutti i dati, chiamo person.save();.ActiveAndroid: colonne della data non create

ottengo una lista di tutte le persone dalla base di dati con questo comando: new Select().from(Person.class).execute();

Se non chiudere l'applicazione tutto funziona bene (data di nascita viene sempre restituito correttamente dal database). Tuttavia, quando chiudo completamente l'app e la riavvio, la data di nascita è sempre nullo. Tutti gli altri campi (nome, cognome, ecc.) Sono corretti.

Non so davvero perché questo sta accadendo e apprezzerei un po 'di aiuto!

EDIT: Dopo aver esaminato più da vicino il mio database, ho scoperto che la colonna della data di nascita non è stata creata. Non sono ancora sicuro del motivo per cui i dati sono disponibili quando non si chiude l'app.

Secondo EDIT: Ho aggiunto una nuova colonna (una stringa) che viene salvata nel database e funziona perfettamente. Quindi il problema non è un database obsoleto. Tutte le colonne vengono create ma la colonna della data.

Ho anche modificato il datatype della data in una stringa. La data di nascita è stata quindi salvata. La modifica di un datatype Data ha comportato nuovamente il problema originale. Davvero strano ... Qualcuno sa cosa sta succedendo?

+0

perché si usa java.sql.Date con il nome java.util.Date? – LunaVulpo

+0

hai risolto il problema? – LunaVulpo

+0

Stavo usando 'DateTime' di JodaTime come tipo di campo di colonna e non stava creando la colonna nel database SQLIte. Devi creare un TypeSerializer personalizzato se hai intenzione di farlo. Vedi questo per maggiori informazioni: https://github.com/pardom/ActiveAndroid/issues/516 –

risposta

3

Dovrebbe esserci qualche problema di cache. per il salvataggio della data prova a utilizzare type serializer. è così facile leggere semplicemente this page.

+0

Ho appena provato questo, ma non è cambiato nulla ...:/ –

+0

hai provato ad aggiornare il tuo schema o disinstallare e reinstallare di nuovo l'app? – mehdi

+0

Ho aggiornato il mio schema (se questo significa aumentare il numero di versione del database) e reinstallato l'app, ma ancora non funziona ... –