Рекомендации для Android: загрузка материалов в фоновом режиме и сохранение результатов, приемлемых для нескольких действий - PullRequest
2 голосов
/ 30 марта 2011

В настоящее время я занимаюсь разработкой приложения, которое позволяет находить близлежащие автобусные и железнодорожные остановки и отображать табло отправления для пользователей.
У меня есть Activity, давайте назовем ее Activity1, которая отображает 20 ближайших остановок.
При щелчке по одному из них открывается Activity2, и загружается и отображается доска отправления.

В обоих случаях я использую AsyncTasks для извлечения данных и parsing в фоновом режиме.
Однако я хотел бы загрузить некоторые доски отправления в фоновом режиме, показывая ближайшие остановки. Они будут доступны, как только пользователь решит их увидеть.

Итак, я бы хотел какой-то механизм (Thread или Service), который работает параллельно с UI Thread и загружает эти данные. Проблема в том, что этот механизм должен быть доступным из обоих видов деятельности. Каков наилучший подход для достижения этой цели?

Я думал о создании статического класса SideLoader с объектом Runnable и, возможно, открытым списком загруженных досок отправления, который постоянно обновляется при выполнении этого объекта Runnable. Это шов как хорошая практика или как?

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

Вы также можете посмотреть следующее видео из конференции Google I / O о асинхронном выполнении запросов REST и локальном хранении данных для использования.Отличное описание лучших практик, из которых вы можете многому научиться.Рассказывает об услугах, асинхронной задаче, поставщиках контента и многом другом:

http://www.youtube.com/watch?v=xHXn3Kg2IQE

И чтобы изложить эту мысль, вы можете использовать ContentProvider для доступа к информации, хранящейся в базе данных SQLLite на устройстве.,Используйте сервис для извлечения данных онлайн и сохранения их в базе данных через контент-провайдера.Ваши действия имеют доступ к контент-провайдеру для получения данных.

1 голос
/ 30 марта 2011

Я бы посмотрел на создание службы Android для управления вашими фоновыми задачами.Каждое действие может связываться с сервисом и связываться с ним по мере необходимости.

http://developer.android.com/reference/android/app/Service.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...