2011-04-05 6 views
1

jQuery & JQTouchを使用してiOS用のphonegapアプリを作成しました。情報はテストデータベースから取得され、iPhoneシミュレータのWebページに表示されます。しかし、これを動作させるために、私はデータベースをあらかじめ作成して置いて、正しいフォルダに手作業でコピーして、私のコードでそれに接続することができました。Phonegap iOS app - csvまたはJSONを使用してローカルデータベースを作成して設定しますか?

私のiPhoneにテスト用にインストールした場合、データベースを作成して最初の実行時にコードを入力する必要があります(このメソッドは、この例のようにObjective Cでデータベースを手動でコピーしようとするのではなく、 :http://groups.google.com/group/phonegap/browse_thread/thread/ca6c85f7d6c3976c/017cdbf51c70585a)。私の考えは、フラットCSVファイルまたはJSONオブジェクト(パッケージに含まれている)から情報をローカル配列にプルし、次にデータベーステーブルを作成し、配列を繰り返して情報をデータベースに挿入することです。

これは合理的なアプローチですか?私は複雑さを最小限に抑えようとしています!私の質問のCSVファイルをJSONファイル(これは余分な複雑さを加えるように見える)よりも作成して維持する方が簡単です - どんな考えですか?最後に、CSVファイルから情報を抽出する方法を知っている人はいますか?私は有望に見えるこのJQueryライブラリ(http://code.google.com/p/js-tables/wiki/CSV)が見つかりました - より良い方法はありますか?

何か助けていただきありがとうございます。私はいくつかのアドバイスを受ける前にジャンプしたくありません! Nick

+0

この問題を抱えている人は、私のCSV質問への回答が見つかりました:http://stackoverflow.com/questions/455606/how-to-import-file-into-sqlite – hairyllama

+0

私はあなたがJSONにいると思いますJSONからcsvに出て、ある時点でJSONに戻る必要があります...... – Prospero

答えて

0

まず、データベースファイルのサイズを考えます。シミュレーターとデスクトップブラウザーでのテストは、デバイスで遭遇するものとほとんど同じではありません。私は、5メガのテキストファイルが古いデバイスでは耐えられないことに気付きました。

第2に、JSでの使用がはるかに簡単で、外部ライブラリを使用する必要がないため、常にjsonを使用することを推奨します。

あなたのアプリパッケージにバンドルされたファイルに "db records"を保存することを検討してください。あなたがなど「記録」あなたは、AJAXを使用してファイルをつかむそれを読んで、あなたは後で使用するために必要な場合、ローカルDBに格納することができ、

$.ajax({ 
      url: asset_path + "/" + filename, 
      success : function(data) { 
       // data is your json object 
      }, 
      error : function(request,error) { 
       // file not found 
      }, 
      async: false, 
      dataType: "json" 
     }); 

する必要がある場合なら、あなたはファイルサイズで、いくつかのオーバーヘッドを得る可能性があります

これがPhonegapパッケージに入っている場合や、アプリケーションパッケージに入れられている場合、これらのファイルは圧縮されてサイズが小さくなります。

関連する問題