2015-09-06 5 views
5

Я пытаюсь сохранить объект Person с ActiveAndroid. Я установил дату рождения следующим образом: person.setBirthdate(new java.sql.Date((new Date()).getTime()));. После назначения всех данных я звоню person.save();.ActiveAndroid: столбцы даты не созданы

получить список всех лиц из базы данных с помощью этой команды: new Select().from(Person.class).execute();

Если я не закрываю приложение все работает отлично (дата рождения всегда корректно возвращается из базы данных). Однако, когда я полностью закрываю приложение, а затем перезапускаю его, дата рождения всегда равна нулю. Все остальные поля (имя, фамилия и т. Д.) Являются правильными.

Я действительно не знаю, почему это происходит и будет признательна за помощь!

EDIT: После более пристального изучения моей базы данных я выяснил, что столбец родительской записи не создан. Я все еще не уверен, почему данные доступны, если не закрывать приложение.

Second EDIT: Я добавил новый столбец (строку), который сохраняется в базе данных и работает отлично. Таким образом, проблема заключается не в устаревшей базе данных. Все столбцы, кроме столбца даты, создаются.

Я также изменил тип данных даты на строку. Затем была спасена дата рождения. Изменение его обратно на тип данных Date привел к исходной проблеме снова. Действительно странно ... Кто-нибудь знает, что происходит?

+0

Почему вы используете java.sql.Date insteed java.util.Date? – LunaVulpo

+0

У вас проблема? – LunaVulpo

+0

Я использовал «DateTime» JodaTime в качестве типа поля столбца, и он молчал, не создавая столбец в базе данных SQLIte. Вы должны создать собственный TypeSerializer, если вы собираетесь это сделать. См. Это для получения дополнительной информации: https://github.com/pardom/ActiveAndroid/issues/516 –

ответ

3

Это должно быть проблема с кешированием. для сохранения Дата попытки использовать type serializer. это так просто, просто прочитайте this page.

+0

Я просто пробовал это, но ничего не изменилось ...:/ –

+0

Вы пытались обновить свою схему или unistall и снова установить приложение? – mehdi

+0

Я обновил мою схему (если это означает увеличение номера версии базы данных) и переустановил приложение, но все еще не работает ... –

Смежные вопросы