我将通过回答一个更大的问题来回答你们所有的问题:How can I sync data between a webserver and an android app?
在Web服务器和安卓应用程序之间同步数据需要安卓设备上有几个不同的组件.
永久存储:
这就是手机实际存储从网络服务器接收的数据的方式.实现这一点的一种可能方法是编写自己的定制ContentProvider,并由Sqlite数据库支持.一个内容Provider 的不错的教程可以在这里找到:http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/
ContentProvider定义了一个与存储数据交互的一致接口.如果需要,它还可以允许其他应用程序与您的数据交互.在ContentProvider的背后可能是Sqlite数据库、缓存或任何任意存储机制.
虽然我当然会推荐使用带有Sqlite数据库的ContentProvider,但您可以使用您想要的任何基于java的存储机制.
数据交换格式:
这是用于在Web服务器和android应用程序之间发送数据的格式.现在最流行的两种格式是XML和JSON.在 Select 格式时,应该考虑可以使用哪种序列化库.我马上就知道有一个很棒的json序列化库,名为gson:https://github.com/google/gson,尽管我相信XML也有类似的库.
同步服务
您需要某种异步任务,它可以从服务器获取新数据,并刷新移动内容以反映服务器的内容.当您对内容进行本地更改并希望反映这些更改时,您还需要通知服务器.Android提供了SyncAdapter模式,可以轻松解决这种模式.你需要注册用户帐号,然后安卓会为你带来很多魔力,并允许你自动同步.这里有一个很好的教程:http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/
至于如何识别记录是否相同,通常您将创建具有唯一ID的项目,并将其存储在Android设备和服务器上.您可以使用它来确保您引用的是相同的引用.此外,您可以存储"UPDATED_AT"之类的列属性,以确保始终获得最新的数据,否则不会意外覆盖新写入的数据.