2011-04-04 5 views
1

localStorageを使用するときに、アプリケーションに設定を保存/読み込む方法を教えてください。 ユーザー名とパスワードを保存したいとします。SenchaTouch/PhoneGapで設定を保存/読み込み - アプリケーションをlocalStorageで表示し、フォームで表示します

  • 店やプロキシでモデルを使用して:

    現在、私は2つのオプションが知っています。
    これは1つのオブジェクトだけを保存したいので、少し大きすぎるようです。しかし、あなたは設定のFormPanelでthis.load()を簡単に使う利点があります。

  • Phonegapまたは 'plain' localStorageを使用します。
    JSON.stringifyとJSON.parseを使用する必要がありますが、オブジェクトを1つしか保存せず、読み込みが簡単です(ページの更新後にストアとプロキシを使用して問題が発生します)。 しかし、モデルをロードするのに必要なthis.loadは使用できません。多分、あなたはsettingsObjectをlocalStorageからモデルに "キャスト"し、これをロードする必要があります。

設定を保存/ロードしてフォームに表示する方が良い方法はありますか。

答えて

3

Sencha Touchのモデルとストアを使用すると、いくつかの設定を保存することが難しいと私は確信しています。 Ext.util.JSON.encode/decodeで設定オブジェクトをシリアライズすることをお勧めします。

注:オブジェクトの関数メンバーをシリアル化することはできませんが、プロトタイプチェーン上のオブジェクトに属するプロパティはずっと少ないため、Extモデルをシリアル化および逆シリアル化することはできません。それはあなたがそれを取り戻すときに働く。あなたができる最善の方法は、Extコンポーネントの設定をシリアル化し、その設定を元に戻した後にそのコンストラクターを通して再構成することです。

シンプルな設定オブジェクトの場合、シリアル化してローカルストアのキーに格納するだけです。あなたのページに行くと、設定オブジェクトを取得し、フォームを更新します。フォームの設定を変更するときは、オブジェクトに書き込んでください。ページを離れるとき(onbeforeunload)、オブジェクトをlocalstoreに書き込みます。

関連する問題