移动应用上的Sencha Touch LOcal存储

时间:2013-06-11 20:05:25

标签: sencha-touch local-storage

我计划将Sencha Touch用于我公司的应用程序。我读到本地存储在客户端的浏览器上存储数据。我的问题是当我使用Sencha CMD将代码构建到本机应用程序时,本地存储如何工作?什么是本地存储的替代方案,以保持一些数据假设用户详细信息(以便用户不需要总是登录)。

提前谢谢

2 个答案:

答案 0 :(得分:2)

localStorage的

是一个非常易于使用的界面,可以使用同步。它将字符串(您可以JSON.stringify其他Javascript对象)存储为键值对,您只需使用键以这种方式设置值:

localStorage.setItem('key', 'value');

阅读:

var value = localStorage.getItem('key');

如果在存储空间中找不到密钥,则返回valuenull

可以将其用作对象:

localStorage['key'] = 'value';
var value = localStorage['key'];

然而,这不是推荐的方法。在这种情况下,将为不存在的项目返回undefined

更多细节:
http://www.w3.org/TR/2013/PR-webstorage-20130409/
http://diveintohtml5.info/storage.html

索引资料

数据库取代现已弃用的Web SQL。它工作异步并且有点难以理解,因为它使用存储,请求和事务来处理数据。

您可以在IndexedDB(Javascript对象,Blob(文件))中存储任何类型的对象。

您也可以申请存储空间。如果您需要超过5 MB(5 mb未定义,但似乎是大多数浏览器在要求用户许可之前设置的限制),将会提醒用户。

有关如何使用它的详细信息,请参见此处:
http://www.w3.org/TR/IndexedDB/
http://www.html5rocks.com/en/tutorials/indexeddb/todo/

Web SQL

虽然如上所述,已弃用,但仍支持Safari等浏览器。是一个与SQL查询和请求一起使用的数据库,并且是异步的。

以下是更多细节:
http://www.w3.org/TR/webdatabase/
http://html5doctor.com/introducing-web-sql-databases/

文件API

目前仅支持Chrome。是一个虚拟文件系统,它与IndexedDB异步工作,但适用于大型文件(视频和音频文件等),但可以很容易地用于存储其他数据。

您可以将任何类型的对象存储在File API中作为Blob(文件)。由于它是虚拟文件系统,您可以使用文件夹进行导航。

您也可以在这里请求存储空间(配额)。

详情:
http://www.html5rocks.com/en/tutorials/file/dndfiles/
http://www.w3.org/TR/FileAPI/

当然有cookies和IE UserData,但这些非常有限。

答案 1 :(得分:1)

此示例演示如何将本地存储与Sencha Touch模型对象一起使用:

如果您想要切换&从在线到离线同步数据您可能也对此示例感兴趣: