Android:当互联网不可用时,如何使用sqlite数据库存储用户数据,然后在设备连接到互联网时自动将存储的数据与服务器同步(我希望场景如何工作) 我的数据将包含字符串,以及图像, 但我将存储图像路径,而不是在sqlite数据库中的图像。Android:如何同步sqlite数据与服务器
如果有人可以用简单的示例代码解释我,那么它将不胜感激,只是一个初学者。
Android:当互联网不可用时,如何使用sqlite数据库存储用户数据,然后在设备连接到互联网时自动将存储的数据与服务器同步(我希望场景如何工作) 我的数据将包含字符串,以及图像, 但我将存储图像路径,而不是在sqlite数据库中的图像。Android:如何同步sqlite数据与服务器
如果有人可以用简单的示例代码解释我,那么它将不胜感激,只是一个初学者。
在您的应用程序中创建一个SQLite数据库,以便在本地存储所有信息。在这里,您可以获得关于为应用程序创建和维护SQLite数据库的详细教程。 SQLite Tutorial
内,您的SQLite表的你可以做一个像申请isSynced和切换它的位从0到1,这取决于该记录的服务器或不更新。
创建一个服务,您可以在应用程序启动时运行该服务,但只有在服务未运行时才进行检查。该服务将扫描数据库的所有表,每2分钟其isSynced位是0即需要更新到服务器的那些记录,确保在扫描数据库之前检查互联网连接,以便它可以同时发送记录。此时您将获得需要在服务器上更新的记录列表。现在打你的服务在环路记录发送给服务器,一旦一条记录被成功地保存在服务器上,确保以更新它的isSynced位为1,在这里,你可以阅读Service in Android
在-为了检查互联网连接,你可以试试下面的代码:
public static boolean isConnected(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED)
return true;
}
}
}
return false;
}
您还需要添加在你的清单文件以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
您还可以检查这个tutorial,这将有助于你与Web服务通信
希望这将有助于使在实现你的目标。
thanx buddy ..我懂了... –
在这里寻找合理的解释。 http://stackoverflow.com/questions/10829371/sync-data-between-android-app-and-webserver – ditkin
在这里寻找如何找出当你有网络连接和发送数据到服务器:http:// stackoverflow .com/questions/22900354/how-to-queue-up-data-for-server-dispatch-on-android – ditkin