0

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

4

1 回答 1

1

使用BroadcastReceiverAndroidManifest并在...中声明它

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

你还需要...

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

...在清单中。

在检查的onReceive(...)方法中查看发生了什么变化 - 如果它已更改为已连接,则可以开始同步操作。BroadcastReceiverIntent

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

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

于 2013-09-09T17:32:25.733 回答