2015-09-06 17 views
5

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?

+0

dlaczego używasz java.sql.Date insteed java.util.Date? – LunaVulpo

+0

czy rozwiązałeś problem? – LunaVulpo

+0

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 –

Odpowiedz

3

To powinien być problem z buforowaniem. do zapisania Data spróbuj użyć type serializer. to takie proste, wystarczy przeczytać this page.

+0

Po prostu próbowałem, ale nic się nie zmieniło:/ –

+0

Czy próbowałeś zaktualizować swój schemat lub unistall i ponownie zainstalować aplikację? – mehdi

+0

Zaktualizowałem swój schemat (jeśli oznacza to zwiększenie numeru wersji bazy danych) i ponownie zainstalowałem aplikację, ale nadal nie działa ... –

Powiązane problemy