2013-04-23 14 views
8

私はFirefoxOSアプリケーションをいくつかやろうとしていますが、ローカルデータを簡単に保存する方法はありませんでした。私はIndexedDBについて聞いていますが、それは複雑すぎるようです。他の選択肢はありますか?そうでない場合、簡単なチュートリアルはありますか?FirefoxOSにデータを保存

私はリモートデータを保存して復元することを考えていますが(croosドメイン要求を行っています)、そのアクセス許可にいくつかの問題があります。 FirefoxOSのXHRに関するチュートリアルはありますか?

ありがとうございました。

+0

IndexedDBはそれほど難しくありません。最も難しい部分は(少なくとも私にとっては)DBイベントの周りに自分のアプリケーションを設計することでした。 – Eldelshell

答えて

2

:あなたが作業XHRのデモのために

7

私が見つけた最高のIndexDB文書は、MDNのUsing IndexDBです。

そして、GalleryやIndexDBを使っているブラウザなど、多くのデフォルトのFirefox OSアプリ(gaia)があります。あなたは実生活でどのように動作するかを見ることができます。

また、辞書のように機能するより軽量のwindow.localStorage APIを使用することもできます。

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

EDIT:localStorageはメインスレッドをブロックするのでお勧めしません。代わりにgaia/shared/asyncStorageを使用してください。私はお勧め https://marketplace.firefox.com/developers/docs/apps/podcasts

+0

私は、上記のコメントの文の1つを強調したいだけです:** gaia/shared/asyncStorage **を使用すると、localStorageの利点(単純です)とindexedDBの利点(高性能)。 – Yoric

+0

感謝します。 – gasolin

1

ポッドキャストをFirefox-OS-Boilerplate-Appを確認することができますXHRについて

は、クロスドメインリクエストを行うための特権APIでのIndexedDBとSystemXHR、両方についてアプリの協議を参照しますあなたはasyncStorage over localStorageを使用していますが、これは非同期バージョンのlocalStorageです。同じapiとIndexedDBの利点があります。あなたは、コードを確認し、ファイルのコメントを読んで、それを使用する方法を学ぶことができます

https://github.com/mozilla-b2g/gaia/blob/master/shared/js/async_storage.js

0

あなたはまた、他にそのデータを共有することができ、データストアを使用してFirefoxのOSでのデータストアを使用することができます他のアプリにデータストアへの書き込みを許可するかどうかを指定することもできます。

このリンクをたどることができます。認定に

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)) 
})