android – 如何在线保存/加载数据(使用AJAX和JSON存储数据)和离线(本地)

我需要帮助找出最佳的,跨浏览器兼容的方式来“保存”用户输入并在本地(离线模式)和服务器(在线)存储它们.程序将由Android和iOS使用.

我想知道在设备联机或离线时跟踪用户进度的最佳方法.

您好我一直在研究AJAX,JSON,XMLHttpRequest,REST,Java和HTML5(特别是localStorage).

场景:(在线/离线阅读书籍,保存页面进度)

>用户登录Web服务,Web服务允许用户下载“html网页书”(使用HTML5浏览器查看).
>每次翻页后,REST API都会使用GET请求将进度数据发布到Web服务器.同时,创建JSON字符串并将其保存在服务器上的文件中. (让我们说“ProgressData.txt”)
>在后台,ProgressData.txt的单独“副本”将在移动设备上保存.然后用户离开互联网连接并继续阅读HTML书籍.
>当用户重新获得连接时,ProgressData.txt将使用REST API上载到服务器,它将使用包含所有用户ProgressData的NEW .txt文件更新旧服务器文件.

可能的解决方案:

HTML5 localStorage解决方案看起来不错. jQuery甚至简化了它:
http://plugins.jquery.com/project/html5Storage

直接Javascript看起来很适合服务器端存储,但它无法访问移动设备的物理硬盘驱动器,从而阻止任何类型的脱机保存.

Java小程序看起来很可能.另外还不确定Java如何在Android / iOS上运行.

我不希望每次用户下线时都从移动设备运行本地主机(PHP / Apache / Python),但这可能是解决方案的所在.我偶然发现了这个强大的工具:http://couchdb.apache.org/

题:

我需要知道在设备联机或离线时跟踪用户进度的最佳方法.做这个的最好方式是什么?

解决方法:

以下是2个截屏视频,它们将帮助您解决问题.

他们在Ruby on Rails中,但也许你可以得到这个想法.它使用的是html5缓存清单.

希望它能帮到你!

http://railscasts.com/episodes/247-offline-apps-part-1

http://railscasts.com/episodes/248-offline-apps-part-2

一些更多的资源(对不起,我自己没有html5缓存清单的经验)

http://diveintohtml5.ep.io/offline.html

http://developer.apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html

上一篇:android – Osmdroid离线文件


下一篇:javascript – 密码保护HTML5离线应用程序目录