在FirefoxOS中存储数据

8

我想开发一些FirefoxOS应用程序,但是我还没有找到存储本地数据的简单方法。我听说过IndexedDB,但它似乎太复杂了。有其他替代方案吗?如果没有,是否有任何简单易懂的教程呢?

我考虑将远程数据存储和恢复(执行跨域请求),但权限方面遇到了一些问题。有没有FirefoxOS XHR的教程?

谢谢。


IndexedDB并不难。对我来说,最困难的部分是围绕数据库事件构建我的应用程序。 - Eldelshell
4个回答

7

我能找到的最好的IndexDB文档是MDN上的Using IndexDB

还有许多默认的Firefox OS应用程序(gaia),如相册、浏览器使用IndexDB。您可以在现实生活中看到它是如何工作的。

或者,您可以使用更轻量级的window.localStorage API,它的工作方式类似于字典。

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

编辑:请注意,不推荐使用localStorage,因为它会阻塞主线程。您应该使用gaia/shared/asyncStorage

对于XHR,您可以查看Firefox-OS-Boilerplate-App以获取工作中的XHR演示。


我只想强调上面评论中的一句话:使用gaia/shared/asyncStorage,它是一个简单的API,既具有localStorage的优点(简单易用),又具有indexedDB的优点(高性能)。 - Yoric

2

1

0

你可以在Firefox OS中使用DataStore,通过使用数据存储,您还可以与其他应用程序共享该数据,并且您还可以授权其他应用程序是否可以写入数据存储。

您可以按照此链接进行操作。

https://developer.mozilla.org/en-US/docs/Archive/Firefox_OS/API/Data_Store_API/Using_the_Data_Store_API

如果您想使用数据存储,您的应用程序需要获得认证。

navigator.getDataStores('mystore').then((store)=>{
    store[0].getLength().then((ln)=> console.log(ln))
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接