我正在尝试做一些FirefoxOS应用程序,但我还没有看到任何简单的方法来存储本地数据。我听说过IndexedDB,但它似乎太复杂。还有其他的选择吗?如果没有,有没有关于它的简单教程?在FirefoxOS中存储数据
我已考虑存储和恢复远程数据(做一个croos域请求),但我有一些权限问题。有没有关于FirefoxOS的XHR的任何教程?
谢谢。
我正在尝试做一些FirefoxOS应用程序,但我还没有看到任何简单的方法来存储本地数据。我听说过IndexedDB,但它似乎太复杂。还有其他的选择吗?如果没有,有没有关于它的简单教程?在FirefoxOS中存储数据
我已考虑存储和恢复远程数据(做一个croos域请求),但我有一些权限问题。有没有关于FirefoxOS的XHR的任何教程?
谢谢。
我建议您在localStorage上使用asyncStorage是localStorage的异步版本,具有相同的api和IndexedDB的优点。
你可以看到代码,并学习如何使用它读取文件的注释:
https://github.com/mozilla-b2g/gaia/blob/master/shared/js/async_storage.js
我能找到的最好的IndexDB文档是MDN中的Using IndexDB。
还有很多默认的Firefox操作系统应用程序(gaia),比如使用IndexDB的图库和浏览器。你可以看到它在现实生活中的作用。
或者您可以使用更轻量级的window.localStorage API,它的工作原理类似于字典。
localStorage.setItem(key, value);
localStorage.getItem(key);
编辑:请注意,不推荐localStorage,因为它阻止主线程。您应该使用gaia/shared/asyncStorage
。
对于XHR您可以检查Firefox-OS-Boilerplate-App的工作XHR演示
播客参考关于两者是IndexedDB和SystemXHR,这是做跨域请求特权API的应用程序会谈: https://marketplace.firefox.com/developers/docs/apps/podcasts
您可以通过使用数据存储使用数据存储在Firefox OS您还可以与其他数据应用程序,并且您还可以授予其他应用程序写入数据存储的权限。
你可以关注此链接。
只是使用数据商店中的应用需要认证。
navigator.getDataStores('mystore').then((store)=>{
store[0].getLength().then((ln)=> console.log(ln))
})
IndexedDB并不难。最困难的部分(至少对我来说)是围绕数据库事件构建我的应用程序。 – Eldelshell 2013-06-04 10:14:37