我正在嘗試做一些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