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