Próbuję przechowywać obiekt Person
przy pomocy ActiveAndroid. Ustawiłem datę urodzin tak: person.setBirthdate(new java.sql.Date((new Date()).getTime()));
. Po przypisaniu wszystkich danych dzwonię pod numer person.save();
.ActiveAndroid: Nie utworzono kolumn daty
uzyskać listę wszystkich osób z bazy danych poleceniem: new Select().from(Person.class).execute();
Gdybym nie zamykać aplikacji wszystko działa poprawnie (data urodzin jest zawsze zwrócony poprawnie z bazy danych). Jednak po całkowitym zamknięciu aplikacji, a następnie ponownym uruchomieniu, data urodzenia jest zawsze zerowa. Wszystkie pozostałe pola (imię, nazwisko itp.) Są poprawne.
Naprawdę nie wiem, dlaczego tak się dzieje i byłbym wdzięczny za pomoc!
EDYTOWANIE: Po przyjrzeniu się mojej bazie danych dowiedziałem się, że kolumna daty urodzenia nie została utworzona. Nadal nie jestem pewien, dlaczego dane są dostępne, gdy nie zamykają aplikacji.
Druga edycja: Dodałem nową kolumnę (ciąg), która jest zapisana w bazie danych i działa dobrze. Więc problem nie jest przestarzałą bazą danych. Zostaną utworzone wszystkie kolumny oprócz kolumny daty.
Zmieniłem także typ danych na datę na ciąg. Data urodzenia została następnie zapisana. Zmiana z powrotem na typ danych daty spowodowała ponowne pojawienie się pierwotnego problemu. Naprawdę dziwne ... Czy ktoś wie co się dzieje?
dlaczego używasz java.sql.Date insteed java.util.Date? – LunaVulpo
czy rozwiązałeś problem? – LunaVulpo
Używałem 'DateTime' JodaTime jako mojego typu pola kolumny i nie tworzyło to kolumny w bazie danych SQLIte. Musisz utworzyć niestandardowy TypeSerializer, jeśli masz zamiar to zrobić. Zobacz więcej informacji: https://github.com/pardom/ActiveAndroid/issues/516 –