アプリでは、さまざまなデータを扱います。必要に応じてそれらを保存し、取り出して処理することになります。こうした「データの保存と取得」は、
PhoneGapではどうするのでしょう。HTMLとJavaScriptでは、ファイルにデータを保存したりはできませんね。となると
PhoneGapのライブラリで何か用意してあるのでしょうか。
……いいえ。実は、「HTMLとJavaScriptでも、ローカルボリュームにデータを保存できる」のです。これも、
PhoneGapの機能などではなく、「HTML5」の機能として用意されています。HTML5には「
ローカルストレージ」と呼ばれる機能があるのです。これは、テキストデータを簡単にローカルボリュームに保管しとり出すことのできる機能です。
ローカルストレージは、
key-value方式の超簡易データベースのようなものです。一般的なファイルアクセスのように、とり出すデータが保管されているファイルのパスを指定して……というような面倒な事は行いません。保管するテキストには、それぞれ「
キー」と呼ばれる名前が付けられます。そしてこの名前を指定して値を取り出したり変更したりします。このローカルストレージへの読み書きは、以下のように行えます。
・値の取得変数 = window.localStorage.getItem( キー );
・値の設定window.localStorage.setItem( キー , 値 );
実に単純ですね。ローカルストレージは、
window.localStorageというオブジェクトとして用意されています。この中の「
getItem」「
setItem」というメソッドを使って値のやり取りを行います。
getItemは、引数にキーを指定すると、そのキーに保管されている値を取り出します。そのキーにまだ値が保管されていなければ、とり出される値は
undefinedになります。
setItemは、第1引数のキーに、第2引数の値を保存します。既にそのキーに値が保管されていた場合は上書きされます。
とりあえず、この2つのメソッドさえ覚えておけば、ちょっとしたデータの保管はすぐにできるようになりますね。