Как вызвать метод в течение всего времени жизни приложения

Я разрабатываю пример приложения, у него есть базы данных sqlite и mysql. если у интернет-соединения есть данные, которые поступают в базу данных веб-сервера (база данных mysql), если нет данных интернет-соединения, сохраняйте базу данных sqlite, после повторного открытия приложения, синхронизирующегося с базой данных веб-сервера (база данных mysql), теперь я хочу синхронизировать базу данных веб-сервера ( mysql) без повторного открытия приложения, время выполнения приложения должно синхронизироваться. Помоги мне


person Tharaka    schedule 09.09.2013    source источник
comment
я думаю, что статический блок полезен для вас   -  person anddevmanu    schedule 09.09.2013
comment
подскажите по другому..   -  person Tharaka    schedule 09.09.2013


Ответы (1)


Используйте BroadcastReceiver и объявите его в AndroidManifest с...

<intent-filter>
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>

Вам также понадобится...

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

... в манифесте.

В методе onReceive(...) BroadcastReceiver проверьте Intent, чтобы увидеть, какое изменение произошло — если оно изменилось на «подключено», вы можете начать операцию синхронизации.

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

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

person Squonk    schedule 09.09.2013