python– 与远程数据库同步的Android应用程序数据库

python– 与远程数据库同步的Android应用程序数据库,第1张

概述我正处于Android应用程序的规划阶段,该应用程序与Web应用程序同步.Web端将使用Python编写,可能是Django或Pyramid,而Android应用程序将是简单的java.我的目标是在没有数据连接的情况下让Android应用程序工作,不包括应用程序的社交/Web方面.这将是一个普通的应用程序,所以我想坚

我正处于Android应用程序的规划阶段,该应用程序与Web应用程序同步. Web端将使用Python编写,可能是Django或PyramID,而AndroID应用程序将是简单的java.我的目标是在没有数据连接的情况下让AndroID应用程序工作,不包括应用程序的社交/ Web方面.

这将是一个普通的应用程序,所以我想坚持一些可以通过市场上的单击轻松安装的东西,而不需要单独的下载,如CloudDB for AndroID.

我没有找到任何支持此功能的数据库,因此我将自己编写.编写同步逻辑的一个警告是,用户之间将存在一些共享数据,多个用户将能够写入.这是一个独奏项目,所以我想我会通过这里来看看我是否完全偏离基础.

>应用程序将处理本地保存到本地sqlite数据库,然后将消息发送到服务,该服务将尝试将这些更改同步到远程数据库.
>同步服务将在检查本地应用程序的消息(即,其他用户对共享数据的更改)以及将本地更改写入远程服务器之间切换.
>所有数据都有一个用于跟踪更改的时间戳
>从应用程序写入服务器时,如果服务器有更新的信息,将向用户发出有关冲突的警告,并提示覆盖服务器具有的内容或放弃本地更改.如果自应用上次读取数据后服务器尚未更新,请处理更新.
>当数据从服务器传到应用程序时,如果服务器有更新的数据覆盖本地数据,否则丢弃它,因为它将在下一次由更新服务器的应用程序处理.

这是一些问题:

1)听起来有点矫枉过正吗?有没有更简单的方法来处理这个?

2)这个处理应该在哪里进行?在客户端或服务器上?我认为客户端的优势在于服务器上的处理较少,但如果它在服务器上,则可以更容易地实现其他客户端.

3)我应该如何处理来自服务器的更新?增量轮询或彗星/ websocket?要记住的一件事是,我宁愿在Webfaction上安装最小的安装,因为这是启动.

一旦解决了这些问题,我就会计划为极客社区提供解决方案.

解决方法:

1)看起来这是管理本地和安全的好方法.远程更改支持脱机工作.我不认为这有点矫枉过正

2)我认为,您应该使用本地时间戳在本地缓存用户的更改,直到同步完成.然后,服务器应管理所有处理:跟踪当前版本,提交和回滚更新尝试.减少对客户的处理=对您更好! (更容易支持和实施)

3)如果我想支持离线模式,我会选择轮询,因为在离线状态下,您无法保持套接字打开,每次恢复Internet连接时都必须重新打开套接字.

PS:看起来这是VEEERYY olD的问题……大声笑

总结

以上是内存溢出为你收集整理的python – 与远程数据库同步的Android应用程序数据库全部内容,希望文章能够帮你解决python – 与远程数据库同步的Android应用程序数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1116834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存