我正在开发一个Android应用程序,它加载到学生列表中,以显示在基于列表的活动中.该应用程序有两个组件.有一个服务器通过xml响应当前活跃学生的列表和应用程序端的数据库,该数据库存储这些学生的一些细节(姓名,年龄等).我想要一种同步这两个数据源的方法.当应用程序启动时,我想检查xml以查看是否添加/删除了服务器上的学生并相应地更新了数据库.
我会在登录时将xml列表解析为学生对象.有没有办法将整个对象存储/检索到android支持的数据库中,所以我可以直接比较看看更新/删除的内容?它最终会变成类似的东西
if (serverStudent[0].name == dbStudent[0].name)
//overwrite dbStudent object with serverStudent fields
Run Code Online (Sandbox Code Playgroud)
在Android中实现对象持久性然后比较的最有效/轻量级方法是什么?
这是我过去使用过的一个方法:
每当数据库中的对象发生更改时,请使用时间戳列来存储该时间。当应用程序在启动时连接时,只需对照每个对象的服务器数据库中的时间戳检查应用程序数据库中的每个时间戳。如果时间戳匹配,则不执行任何操作。如果时间戳不匹配,则从服务器检索更新的记录。确保您使用足够详细的时间戳(通常低至毫秒或微秒)。
时间戳的好处是,如果您不希望服务器数据覆盖应用程序数据,您可以查看哪个对象更新,并保留该对象(如果它们都已被编辑)。只是添加一些额外的想法!
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |