Android - Как загрузить данные в фоновом режиме в требуемое время

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

В основном, в указанных интервалах в течение дня (напр. 5 P.M), я хочу, чтобы мое приложение загрузило некоторые данные из моего сервера и сохранило его на устройстве. Это должно оба уменьшить нагрузку на мой сервер от наличия данных, загружаемых каждый раз, когда приложение запущено, и уменьшать загружающиеся времена для пользователя так, чтобы, когда они идут для использования приложения, последние данные уже находились на их устройстве.

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

Я не прошу никого делать это для меня, но мог кто-то указывать на меня в правильном направлении.

7
задан BalusC 13 July 2010 в 02:33
поделиться

3 ответа

Используйте AlarmManager

Этот класс обеспечивает доступ к системным службам сигнализации. Это позволяет вам запланировать запуск вашего приложения в какой-то момент в будущем. Когда срабатывает сигнал тревоги, намерение , которое было зарегистрировано для него, транслируется системой, автоматически запуская целевое приложение, если оно еще не запущено. Зарегистрированные сигналы тревоги сохраняются, пока устройство находится в спящем режиме (и может дополнительно разбудить устройство, если они сработают в течение этого времени), но будут сброшены, если оно будет выключено и перезагружено.

Используйте его для запуска службы

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

Демонстрации API включают пример службы аварийных сигналов (в разделе «Приложение»), который:

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

В частности, см. AlarmService.java , где приведен пример использования AlarmManager, чтобы запланировать пробуждение вашей службы позже, и см. AlarmService_Service.java для примера того, как реагировать на эта тревога. Демонстрационный API AndroidManifest.xml содержит определения связанных служб и действий:

    <service android:name=".app.AlarmService_Service" android:process=":remote" />

    <activity android:name=".app.AlarmService" android:label="@string/activity_alarm_service">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.SAMPLE_CODE" />
        </intent-filter>
    </activity>
15
ответ дан 6 December 2019 в 10:47
поделиться

Напишите службу .

Используйте AlarmManager .

3
ответ дан 6 December 2019 в 10:47
поделиться

не мог бы кто-нибудь направить меня в нужном направлении.

AlarmManager, Service, AsyncTask, BroadcastReceiver

    <receiver android:name=".receiver.BootReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
0
ответ дан 6 December 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: