2013-01-25 4 views
0

Я в процессе создания приложения. В настоящее время у меня есть база данных и метод, который загружает фотографии (вместе с данными, соответствующими снимкам/с, хранящимся в базе данных) с использованием PHP-скрипта на сервере. Важное значение не имеет ни цель, ни схема базы данных. Я раньше не делал ничего подобного, но немного поразмыслил. В основном пользователь будет делать снимок с помощью приложения. Изображение и его данные будут загружены, если есть сетевое соединение, но не будет, если нет соединения (duh). Я хочу, чтобы загруженные изображения загружались после подключения.Сервис + BroadcastReceiver: загрузка файлов в фоновом режиме?

Для этого ... Мои текущие планы - использовать BroadcastReceiver для обнаружения, когда пользователь подключен к сети, а затем использовать Сервис для загрузки файлов. Это правильный подход? Как я могу начать работу с сервисом, когда существует возможность подключения, если и только если есть ожидающие загрузки?

ответ

2

Ваш подход звучит разумно для меня в целом.

Вы зарегистрировали бы приемник вещания со своим пакетом, слушая android.net.conn.CONNECTIVITY_CHANGE.

Если действия также инициируют ваше обслуживание, вы можете правильно обрабатывать каждый случай только с помощью IntentService, поэтому вам не придется иметь дело со множеством вопросов о том, когда нужно прекратить или начать обслуживание с определенной жизнью цикл.

Надеюсь, что это поможет; вы не похожи на новичка, так что вы сможете свести концы с концами.

+0

@BackpackOnHead В общем, да. Вам нужно, чтобы ваш IntentService был работоспособным; возможно, вам понадобится рабочий поток параллельно, как я думаю об этом. Вы можете попробовать прослушать широковещательную передачу BOOT_COMPLETED. _However_, для этого потребуется дополнительное разрешение _and_, что сделает невозможным перемещение вашего приложения на SD-карту, поскольку SD-карта установлена ​​_after_ BOOT_COMPLETED. Есть тонны дискуссий о том, как решить эту проблему. Вопрос в том, насколько вы удобны для пользователя и насколько быстро вы хотите начать загрузку после перезагрузки. Хотите сначала найти или обсудить? –

+0

Извините, я удалил вопрос, потому что он не был полностью релевантным исходному вопросу, и я быстро нашел ответ после этого. Спасибо хоть. Вот мой ответ - http://stackoverflow.com/questions/2784441/trying-to-start-a-service-on-boot-on-android – snotyak

+0

@BackpackOnHead Нет проблем. Похоже, ты на правильном пути. HF! –

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