У меня есть MainActivity
с тремя отдельными фрагментами. Мне нужно получить доступ к данным из моей базы данных SQLite в каждом из этих фрагментов.Android: Доступ к базе данных из активности или фрагмента?
Данные объекта MyObject
содержит примитивные типы наряду со списком OtherObject
объектов.
Так позволяет сказать, что у нас есть три фрагмента, FragmentA
, FragmentB
и FragmentC
.
FragmentB
создает MyObject
объекты и сохраняет их в базе данных. При сохранении открывается FragmentC
с данными MyObject
.
FragmentA
все MyObject
объектов, и после нажатия на объект из списка открывается FragmentC
, населенный выбранными MyObject
.
Какая правильная реализация?
Должно ли действие управлять всем доступом к базе данных и передавать MyObject
в соответствующий фрагмент?
Следует ли каждый фрагмент обращаться к базе данных каждый раз, чтобы получить доступ к данным для себя?
Должно ли FragmentA
и FragmentB
читать по этим данным и передать соответствующие данные MyObject
на номер FragmentC
?
Для случая передачи данных из fragment -> activity -> fragment
или activity -> fragment
, какой метод подходит лучше всего:
- Parcelable
- Intent
- Интерфейс (по активности)
Использование аргументации кажется трудным, так как MyObject
содержит список OtherObject
, и все данные не могут быть разложены и переданы в Intent очень легко.
This link показывает использование интерфейса для передачи данных от фрагмента к активности, с Фрагмент объявить интерфейс который реализуется в деятельности. Для передачи объектов из активности фрагмента, вы объявить другой интерфейс в деятельности и реализовать его в фрагменте?
Я не смог найти прямой совет.
Спасибо за любую помощь
Это был скорее ответ, который я ищу, но оба ответа имеют свое место в разных сценариях. Ура! – conapart3