11

EDIT#2 - これまで (2 日後) の返信は個人的な意見や好みであり、オフライン phoneGap アプリが関連するすべてのデバイス間で単純なデータを簡単に保存するために必要なさまざまなオプションの分析ではありません. そのため、私は回答を受け入れていませんが、この質問に従っています。

私が構築している PhoneGap Web アプリについて調べる必要がある永続データの形式について、少し混乱しています。私はこれを調査してきましたが、私の平凡な要件を考えると、物事は明確ではありません。

このアプリは、約 100 問の多肢選択問題といくつかの暗記ゲームが付属した教育アプリです。

一度ダウンロードしたアプリは、オフラインのままにすることができます。

これは、phonegap をサポートするすべてのデバイス用です。

私が読み書きしたい唯一のデータは、ユーザーのパフォーマンス、合計で間違った回数、カードごとなど、およびゲームのハイスコアです。

これはすべて非常に基本的な情報であり、非常に単純な js オブジェクトで保持できます。

私はそれがかなり単純な解決策であり、維持/繰り返しが非常に簡単であることを望んでいます.

私の最良の選択肢は何ですか?phonegap ファイル API? json/ローチェア? ローカルストレージ?クッキー?アプリを「更新」し、JavaScript のオブジェクトとして保持する方法はありますか? ウェブSQL?スキライト?ストレージ API?

これらのいくつかはやり過ぎのようです。

編集デバイスに違いはありますか?デバイスの検出を行い、異なるテクノロジを使用する必要がありますか?

4

5 に答える 5

7

私は個人的にlocalStorageが好きです。それは簡単で、ほとんどの状況でうまく機能します。

上記のデータを記録するだけの場合は、localStorageが最適です。JSON.stringify()たとえば、を使用してデータオブジェクトを文字列に変換し、使用中にデータオブジェクトをプルバックして、使用JSON.parse()可能なJSオブジェクトに戻すことで、データオブジェクトをセラライズします。

于 2012-11-25T19:59:19.873 に答える
4

私のライブラリhttp://dev.yathit.com/ydn-db/getting-started.htmlを試してみませんかパフォーマンス、クエリなし、キーによる取得、2.5 MB の制限)。

db = new ydn.db.Storage('test-store');

db.put('store1', {test: 'Hello World!'}, 123);

req = db.get('store1', 123);
req.done(function(record) {
  console.log(record);
});

高性能でありながら楽に走れます。

ライブラリの依存関係が気に入らない場合は、https://bitbucket.org/ytkyaw/ydn-dbで生のソース コードを取得してください

于 2012-11-26T04:17:23.957 に答える
2

It looks like these are good ones, though I haven't tried them.

If you're using the ionic framework which uses AngularJS, I like ngStorage. This one I have tried and it's awesome.

于 2014-08-27T04:32:36.813 に答える
1

永続的なデータを保持するために localStorage を使用していますが、どういうわけか信頼できません。一部のデータが失われたのを見たことがありますが、その理由はわかりません。しかし、私の継続的なデータ使用はそれほど重要ではないので、これらの不一致は気にしません。

しかし、あなたのケースはもっと重要なようです。File APIを使用して、永続データをDocuments フォルダーに保存します。

于 2012-11-25T20:41:08.243 に答える
0

Phonegap には SQL Lite のローカル ストレージ サポートがあります http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Storage

申し訳ありませんが、これ以上の情報はありません。私はこのトピックに興味があり、たまたまそれを見つけました。

于 2013-04-01T18:13:39.367 に答える