ash*_*ays 5 database sqlite android synchronization
我有一个网络服务器,用于托管我在Android平板电脑上构建的应用程序的数据.数据变化相当频繁,但我发现平板电脑和手机并不总是与数据连接,并且用户已经可以访问他们之前查看过的数据.
我希望应用程序尽可能从Web服务器提取数据,并且当不可能时,从手机上的SQLite服务器(或任何正确的方法)中提取数据.
是否已经制定了实施或实践来实现这一目标?如果是这样,实现这样一个功能的当前方法是什么?是否可以采用相同的方法对数据进行更改,然后在数据连接恢复时推送这些更改?
据我所知,实际上并没有一个通用的框架。这里有相当多的帖子涉及图像缓存,这些缓存可以很容易地适应,但据我所知,没有任何帖子可以完全通用或专门用于离线查看。也就是说,大多数解决方案仅适用于 URL 和文件,因此如果您的数据非常简单,它可以相当轻松地工作。这在很大程度上取决于您的数据是什么以及您计划如何显示它。如果它由要在 WebView 中显示的网页组成,那么它可能会变得烦人,因为你必须遍历链接(包括图像、css、javascript 等)并缓存这些链接。但是,如果您正在使用特定的独立 URL 或结构化数据,您可以从中轻松解析所有相关 URL,那么就会容易得多。
这是一种面向图像的解决方案:https://github.com/ZaBlanc/WebImageView
一般方法相当简单。可能是这样的:
您还必须处理诸如缓存过期策略以及如何显示数据之类的问题,但这可能是一个开始。
如果您正在考虑双向同步,那么它会变得更加困难。你必须考虑锁和冲突(两个人可以同时更新同一个项目吗?如果是这样,那么会发生什么?),原子性(是否有相关的项目只有在两个人都更新/添加时才有意义?),数据验证(如果用户发送错误数据怎么办)等等。这可能就是为什么还没有人提出任何(据我所知)的东西。它非常有用,但它可能会变得非常复杂,并且实际上涉及客户端和服务器工作。
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |