23

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

助けていただければ幸いです。

4

4 に答える 4

42

Local Storage を使用するのがおそらく最も簡単です。

基本的に言えば、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
于 2013-04-12T10:51:55.670 に答える
1

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

于 2014-05-23T07:30:18.520 に答える
0

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/をご覧ください。

于 2013-04-13T14:17:10.793 に答える
0

友人、私も phonegap で Cookie を使用しようとしましたが、成功しませんでした。解決策は、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();

モバイルとウェブの両方で 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#localStorage http://cordova.apache.org/docs/en/6.x/cordova/storage/storage.html #page-toc-ソース

注意: 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
            }
        }
    }
});
于 2016-07-28T21:19:24.677 に答える