SanchelliosProg
@SanchelliosProg
Java, Android, Software Testing

Насколько это «кошерно» сохранять объекты в базу с помощью ORM вместо реализации интерфейса Parcelable?

Собственно цель лишь в том, чтобы оградить код от лишней грязи, которая раздражает и от неприятных ошибок, которые могут возникнуть при использовании Parcelable. Пользуетесь ли вы ORM для того, чтобы сохранять объекты?
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
artemgapchenko
@artemgapchenko
Собственно цель лишь в том, чтобы оградить код от лишней грязи

Конкретизируйте, где возникает "лишняя грязь".

от неприятных ошибок, которые могут возникнуть при использовании Parcelable

Вроде того, что новое поле добавили, а в writeToParcel() и createFromParcel() указать его забыли? Ну так это, AutoValue + AutoParcel, и нет больше такой проблемы.

Пользуетесь ли вы ORM для того, чтобы сохранять объекты?

Чтобы сохранять - да. Чтобы передавать объект из одной Activity в другую - нет. Но могу себе представить варианты, когда какая-нибудь отличная от Parcelable сериализация будет необходима. Например, объект вашего класса содержит Bitmap, или же просто byte array. При попытке положить этот объект в Bundle как Parcelableу вас упадёт исключение (могу соврать, но у меня вроде на Bitmap-ах весом около 1.5-2 мегабайта падало). Возможный выход - сохранить этот Bitmap на карточку как файл, и пробросить путь к файлу в следующую Activity.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Zemlya
Если я правильно понимаю, то это немного разные вещи. Реализация Parcelable - это для того, что бы передавать объекты между элементами приложения (Скажем, Activity). А сохранять в базу - это для того что бы воспользоваться потом и сохранить на когда-нибудь. Одно для передачи, другое для хранения.
Ответ написан
gadfi
@gadfi
https://gamega.org
Parcelable и бд это немного про разное, как верно сказал Artem Gapchenko с Parcelable проблем нет, необязательно писать их руками, есть библиотеки, есть плагины ...
Вполне нормально если ваша модель реализует Parcelable для передачи между Activity
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы