2014-01-13 4 views
0

Мне нужен совет, чтобы наилучшим образом получить и показать некоторые данные.Android: лучший способ показать данные

У меня есть служба, которая вычисляет и сохраняет данные от GPS (каждые 500 мс) и JSON (каждые 30 секунд) внутри sqlite localdb.

Данные хранятся в двух таблицах: заголовок (обновляется каждый раз) и деталь (каждый раз добавляется новая строка).

Теперь я хочу использовать эти данные (это около 20-25 переменных), сохраненных в таблице заголовков, и привязать их к активности и некоторым фрагментам.

Основное направление деятельности состоит из основного фрагмента и FragmentStatePagerAdapter (с, по меньшей мере, 3-х фрагментов загружен внутри)

который является лучшим способом показать эти данные?

Я думал: - Создайте «Связывание» и используйте обработчик и сообщения (Сервис -> Активность, Активность -> Фрагменты). - Создайте «Bundle» и используйте локальную широковещательную рассылку для отправки и получения данных во всех загруженных фрагментах. - Используйте LoaderCallbacks и SimpleCursorAdapter с «FLAG_REGISTER_CONTENT_OBSERVER» в каждом фрагменте, а также возвращайте и показывайте данные непосредственно из базы данных.

Как вы думаете, лучший? (С точки зрения производительности, лучших практик и низким расходом памяти)

Заранее спасибо и извините за мой английский ..

ответ

1

в случае

Используйте LoaderCallbacks и SimpleCursorAdapter с " FLAG_REGISTER_CONTENT_OBSERVER "в каждом фрагменте и retreive и отображаются данные непосредственно из базы данных.

Вы сделаете ненужное извлечение данных из базы данных, в то время как вы можете просто получить его из трансляции.

Я думаю, что лучший способ - зарегистрировать широковещательный приемник и получить данные «готов к отображению» от вашего сервиса.

+0

Считаете ли вы, что широковещательный приемник быстрее, чем загрузка данных непосредственно из db? –

+1

да, потому что для извлечения данных из db вам нужно какое-то асинхронное вещание, но в случае вещательного приемника вам не нужны такие вещи, вы просто получаете свои данные и отображаете их – Autocrab

+0

Хорошо, я буду использовать это;) спасибо вы очень –

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