Sencha移动应用程序中的脱机持久存储

时间:2014-06-18 09:55:13

标签: javascript cordova sencha-touch-2 persistence local-storage

我是移动应用开发的新手。我正在使用Sencha + Phonegap创建跨平台应用程序。我的目标是将用户编写的文本存储在移动设备(离线存储)以及与其相关的一些其他文本数据中,即使移动设备重新启动也会持续存在,一旦移动设备连接,该设备就会上传到服务器。

根据这个http://docs.sencha.com/touch/2.3.2/#!/api/Ext.data.proxy.Proxy Sencha提供2个客户端存储。

LocalStorageProxy - saves its data to localStorage if the browser supports it
MemoryProxy - holds data in memory only, any data is lost when the page is refreshed

MemoryProxy是不可能的。 LocalStorage使用HTML5存储,我不相信重启后会持续存在。

所以我需要的是某种数据库,可以在Android和IOS上以离线模式从Sencha访问。有这样的事吗?

3 个答案:

答案 0 :(得分:1)

您的假设是错误的,localStorage在应用程序重新启动和应用程序重新启动之间是持久的。你可能会把它与sessionStorage混淆吗?据我所知,只有当用户主动清除应用程序数据时,数据才会被清除(例如,在应用程序菜单上的Android上)。

无论如何,由于您使用的是Cordova / Phonegap,因此您有Storage个选项:

  • localStorage ,键/值持久存储空间(support table
  • WebSQL ,提供通过SQL查询(Android,BlackBerry 10,iOS,Tizen)访问的更多功能齐全的数据库表。
  • IndexedDB ,功能多于LocalStorage但少于WebSQL(仅限Windows Phone和Blackberry)。

另外你可以使用:

答案 1 :(得分:1)

本地存储是持久的。 例如,在android中,只有当应用程序删除它或删除应用程序,或者用户进入设置并删除该特定应用程序的应用程序数据时,才能删除localstorage数据。

希望这有帮助。

答案 2 :(得分:0)

本地存储是持久的。为了更好的实现,你可以参考这个 :

http://www.sencha.com/blog/creating-an-online-offline-proxy-in-sencha-touch