content provider only???

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Аватара пользователя
Breaking
Сообщения: 3
Зарегистрирован: 18 сен 2013, 20:25
Откуда: Belarus

content provider only???

Сообщение Breaking » 06 апр 2014, 00:26

Здравствуйте уважаемые! :)
Помогите окончательно определиться. Есть 2 активити, одно с expandablelistview второе построено на fragments.
И одному активити и второму надо считывать данные из бд. Объект dataSource (выполняет роль DAO в проекте, делал по этому образцу -
http://www.vogella.com/tutorials/Androi ... ticle.html) создается в первом активити. И вот теперь собственно ближе к вопросу: уже готовый объект dataSource созданный в первом активити нужен и второму.
Первые мысли были передать через intent но ведь dataSource - это объект да и тем более для работы с базой данных... Parcelable отпадает по-видимому???
Затем была мысль создать объект dataSource во втором активити как singleton... Но в конечном итоге правильный ли это будет подход...??? Вот парочка ссылок для этого подхода:
http://stackoverflow.com/questions/1556 ... activities
https://groups.google.com/forum/#!topic ... sGDERa0iTE
Бегло прочитал эту ветку форума и сложилось впечатление, что панацея - это content provider (во всяком случае пользователь с ником Foenix, как бы намекает...). Дескать все круто, современно, асинхронно :)
Так вот в моем случае, как мне лучше поступить? Не делать sharing dataSource between 2 activities по вышеописанным мной подходам и разбираться с contentprovider???

siberprogs
Сообщения: 93
Зарегистрирован: 05 мар 2014, 06:20

Re: content provider only???

Сообщение siberprogs » 06 апр 2014, 07:59

Breaking писал(а):Здравствуйте уважаемые! :)
Помогите окончательно определиться. Есть 2 активити, одно с expandablelistview второе построено на fragments.
И одному активити и второму надо считывать данные из бд.
Может этот пример поможет:http://ru-code-android.livejournal.com/3923.html
Смысл в том что создается отдельный класс для работы с бд, а к нему уже доступ из любой активити.
На странице ссылка на пример с двумя активностями.
Linux Fedora RFRemix + Intellij Idea

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: content provider only???

Сообщение Foenix » 06 апр 2014, 08:18

siberprogs, вы чуть-чуть не по теме. Отдельный класс - это само собой разумеется при любом подходе.
Breaking, такую тему уже заводили на форуме с обсуждением как лучше.
Если не хотите к.п. (хотя это правильнее всего), то исходя из ваших мыслей я вижу, что вы немного неправильно понимаете работу андроид-приложения и как ими руководит ОС андроид
Обыкновенно делается это синглтоном в классе Application. Данные в нем не нужно хранить, а вот ссылку на объект БД - вполне себе можно. И то я думаю, что это все равно доисторический подход.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить