如何在应用程序的整个生命周期内调用方法

时间:2013-09-09 17:05:03

标签: android android-sqlite android-syncadapter android-backup-service

我正在开发示例应用程序,它有一个sqlite和mysql数据库。如果互联网连接有数据进入Web服务器数据库(mysql数据库),如果没有互联网连接数据保存sqlite数据库,重新打开应用程序与Web服务器数据库(mysql数据库)同步后,现在我想同步Web服务器数据库( mysql数据库)不用重新打开应用程序,应用程序的运行时应该是同步的。帮助我

1 个答案:

答案 0 :(得分:1)

使用BroadcastReceiver并在AndroidManifest with ...

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

你还需要......

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

......在清单中。

onReceive(...)的{​​{1}}方法中,检查BroadcastReceiver以查看发生了哪些更改 - 如果已更改为已连接,则可以启动同步操作。

要执行同步,请使用IntentService来执行工作线程上的工作,然后在工作完成后自行终止。

如果您需要定期备份,还应考虑使用AlarmManager创建重复警报,该警报可用于定期触发Intent。在这种情况下,IntentService显然必须执行显式检查,以查看是否存在可用的Internet连接。