Я разрабатываю пример приложения, у него есть базы данных sqlite и mysql. если у интернет-соединения есть данные, которые поступают в базу данных веб-сервера (база данных mysql), если нет данных интернет-соединения, сохраняйте базу данных sqlite, после повторного открытия приложения, синхронизирующегося с базой данных веб-сервера (база данных mysql), теперь я хочу синхронизировать базу данных веб-сервера ( mysql) без повторного открытия приложения, время выполнения приложения должно синхронизироваться. Помоги мне
Как вызвать метод в течение всего времени жизни приложения
Ответы (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
, очевидно, придется выполнить явную проверку, чтобы увидеть, есть ли доступное подключение к Интернету.