web-dev-qa-db-ja.com

電話のギャップでローカルストレージを使用する

Webプロジェクト用のモバイルアプリを作成したかった。 Phonegapを見つけました。 HTML、CSS、およびJavaScriptを使用してアプリを簡単に作成できます。電話のギャップを使用してモバイルアプリを作成したことはありません。 3つのストレージオプションmemory-store.js(MemoryStore)、ls-store.js(LocalStorageStore)、websql-store.js(WebSqlStore)があります。ユーザーを認識するためにトークンを保存したいだけです。どのストレージが最適か。モバイルアプリを構築するより良い方法はありますか。

私は助けに感謝します。

22
Leah Collins

おそらく、ローカルストレージを使用するのが最も簡単でしょう。

基本的にPhoneGapアプリは、Webページを実行するだけのネイティブアプリです(アプリストアを通じて配布できます)。 PhoneGap APIは、カメラなどのデバイス機能にJavaScriptフックを提供します。それ以上の機能がありますが、今のところは背景です。

したがって、アプリは基本的にWebページ(HTML5、CSS、JS)であるため、LocalStorage(HTML5の一部)を利用できます。

ローカルストレージの使用例:

設定値:

localStorage.myname = "Greg";

値を取得する:

localStorage.myname; // returns "Greg"

ローカルストレージの詳細はこちら: http://diveintohtml5.info/storage.html

Windows Phone 7の場合: http://docs.phonegap.com/en/3.4.0/cordova_storage_storage.md.html#Storage

構文は次のとおりです

localStorage.setItem("name", "Alen");

localStorage.getItem("name"); //will return Alen
42
Greg

LocalStorageの使用について追加するポイントは、HTML5準拠のデバイスでのみサポートされることです。以前のデバイス(新しいデバイスにも適した選択肢)の場合、オプションはphonegapのSQLite実装を使用することです。 こちらをご覧ください...

1
Hammer

Lawnchair永続ストレージソリューションも検討することをお勧めします。モバイルファーストアプローチで構築されました。いくつかのプロジェクトで使用しました。本当にうまくいきます。

サンプルコード

var store = new lawnchair({name:'testing'}, function(store) {
    // create an object
    var me = {key:'brian'};

    // save it
    store.save(me);

    // access it later... yes even after a page refresh!
    store.get('brian', function(me) {
        console.log(me);
    });
});

詳細については http://brian.io/lawnchair/ をご覧ください。

0
apushpar

友人、私も電話ギャップでクッキーを使用することに成功しませんでした。ソリューションはlocalStorageを使用していました。

主なクイック例:

 var keyName = window.localStorage.key(0);

セットアイテムのクイック例:

 window.localStorage.setItem("key", "value");

アイテムのクイック取得の例

 var value = window.localStorage.getItem("key");
 // value is now equal to "value"

アイテムの削除のクイック例:

 window.localStorage.removeItem("key");

簡単な例:

 window.localStorage.clear();

モバイルとWebの両方にJavaScriptを使用している場合、このコードを使用してその環境を検出できます。

var wl = window.location.href;
var mob = (wl.indexOf("Android")>0);

参照: http://docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html#localStoragehttp://cordova.Apache.org/docs/en/ 6.x/cordova/storage/storage.html#page-toc-source

注意:iOSで匿名ナビゲーションを使用すると、localstorageが期待どおりに動作しない場合があります。私にうまく機能している簡単なテスト:

$(document).ready(function () {
    try {
        localStorage.setItem('test', '1');
    } catch (Err) {
        if (Err.message.indexOf('QuotaExceededError') > -1) {
            // Tell the user they are in anonymous mode
            // Sugest it to go to https://support.Apple.com/pt-br/HT203036 to get help to disable it
            }
        }
    }
});
0
Tiago Gouvêa