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?
perché si usa java.sql.Date con il nome java.util.Date? – LunaVulpo
hai risolto il problema? – LunaVulpo
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 –