实现从服务器到android来回同步数据的最佳实践(架构级别)[重复]
Posted
技术标签:
【中文标题】实现从服务器到android来回同步数据的最佳实践(架构级别)[重复]【英文标题】:Best practice(Architectural level) to implement syncing the data back and forth from sever to android [duplicate] 【发布时间】:2017-06-02 18:07:20 【问题描述】:我有一个运行在 MySQL 中的数据存储的服务器应用程序。 后来,我们碰巧构建了一个简单的Android 应用,用于将数据更新到服务器。到目前为止一切顺利。 但是,由于我们经常遇到网络连接问题,因此我们希望在网络连接不佳时保持数据完全离线,并在网络正常时进行同步。
1) 我是怎么做的,假设我们在服务器端的 mysql 中有五个表,然后我在我的 android 应用程序的 SQLite 中构建了具有相同结构的相同表这样用户应该能够像没有任何区别一样使用该应用程序。我在 SQLite 中添加了一个额外的独立表,用于必须同步的离线更新。2) 每次我使用适当的网络登录应用程序时,我都会截断 SQLite 中的所有表并获取新的新鲜表来自服务器和存储的数据。所以在这里,在登录和登陆页面之间,由于服务器有很多数据,数据获取和存储在应用程序中花费了大量时间。在这里我不知道有什么其他方法可以达到这个性能。 因此,考虑到以上几点,有没有更好的方法从服务器获取数据并与 SQLite 中的现有数据库同步,而不是截断和恢复服务器中的所有数据? 我一直在急切地寻找解决方案。请有人帮忙解释或参考吗?
【问题讨论】:
尝试使用一些库,如 volley,这样您就可以使用缓存结果或仅在数据更改时才获取数据.. 【参考方案1】:这就是我在我的应用程序中的做法:
在设备上存储上次成功同步的日期 每个对象都有一个lastUpdated
列
已删除的对象并未真正删除。他们有一个isDeleted
标志
同步所有具有lastUpdated
>= 您上次同步日期的对象
【讨论】:
以上是关于实现从服务器到android来回同步数据的最佳实践(架构级别)[重复]的主要内容,如果未能解决你的问题,请参考以下文章