POPMUISE
我将尝试通过解决更大的问题来回答您的所有问题:如何在网络服务器和Android应用之间同步数据?在您的网络服务器和Android应用程序之间同步数据需要Android设备上的几个不同的组件。持久存储:这就是您的手机实际存储从网络服务器接收的数据的方式。实现此目的的一种可能方法是编写由Sqlite数据库支持的自定义ContentProvider。可以在此处找到适合内容提供商的体面教程:http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/一个ContentProvider的定义一致的接口与存储的数据进行交互。如果您愿意,它还可以允许其他应用程序与您的数据进行交互。ContentProvider的后面可能是Sqlite数据库,Cache或任意存储机制。虽然我肯定会建议将ContentProvider与Sqlite数据库一起使用,但您可以使用任何您想要的基于Java的存储机制。数据交换格式:这是您用于在Web服务器和Android应用程序之间发送数据的格式。目前最流行的两种格式是XML和JSON。在选择格式时,您应该考虑哪种序列化库可用。我知道有一个非常棒的json序列化库叫做gson:https://github.com/google/gson,虽然我确信XML存在类似的库。同步服务您需要某种异步任务,它可以从您的服务器获取新数据并刷新移动内容以反映服务器的内容。每当您对内容进行本地更改并希望反映这些更改时,您还需要通知服务器。Android提供SyncAdapter模式作为轻松解决此模式的方法。您需要注册用户帐户,然后Android将为您执行许多魔术,并允许您自动同步。这是一个很好的教程:http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/至于如何识别记录是否相同,通常您将创建具有唯一ID的项目,您将其存储在Android设备和服务器上。您可以使用它来确保您引用相同的参考。此外,您可以存储列属性,如“updated_at”,以确保您始终获取最新鲜的数据,或者您不会意外地写入新写入的数据。