Android-асинхронная задача на заставке - PullRequest
1 голос
/ 29 февраля 2012

Я работаю над проектом.Люди, которые хотят это приложение, не хотят, чтобы смартфоны обращались к базе данных.Поэтому они размещают XML-файлы в Интернете.Когда приложение впервые установлено, я прочитал xml в локальной базе данных sqlite, чтобы они могли получить доступ к данным в автономном режиме.

Теперь файлы xml загружаются в sqlite.Загрузка XML-файлов занимает не много времени, но достаточно времени, чтобы поместить его в асинхронную задачу een.Теперь я не знаю, разумно ли сделать заставку и запустить анализ xml в асинхронной задаче.Или если мне нужно сделать это в другой раз?

У кого-нибудь есть решение для этого?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Во-первых, конечно, любые операции, содержащие поиск в сети и в базе данных, должны выполняться в отдельном потоке (использование AsyncTask - хорошая идея). Тогда есть два способа реализовать вашу логику:

  1. Если ваши пользователи ничего не могут сделать с вашим приложением до того, как данные будут извлечены и помещены в БД, вам, вероятно, следует показать что-то вроде ProgressDialog, сообщающее пользователям, что ваше приложение готовится к работе.
  2. Если есть другие параметры, для которых данные из Интернета не требуются, необходимо полностью выполнить операцию извлечения данных в фоновом режиме, чтобы пользователи могли взаимодействовать с приложением.

Надеюсь, это поможет.

0 голосов
/ 29 февраля 2012

Я думаю, это зависит от того, как бы вы справились с ошибкой, скажем, ваш сервер не работает или что-то не так с интернет-соединением пользователя.Splashscreen отлично подходит для загрузки ресурсов, которые требуются для отображения самой активности, но я не думаю, что будет хорошей идеей заставлять пользователя ждать, пока он работает AsyncTask s в фоновом режиме, это может сделать ваше приложение медленным => плохопользовательский опыт.

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