2013-08-03 9 views
5

私のアプリケーションでは、最初に起動するたびにJSONをサーバーからダウンロードし、後でこのデータを解析してさまざまな情報を表示する必要があります。 JSONオブジェクトはほぼ5000でかなり大きくなりますJSONArray。すべてのJSON配列の形式は、次のとおりです私は何を選ぶべきですか?JSONかSQLiteですか?

[37,101,"The Blocks Problem",9952,0,1000000000,0,852,0,0,11197,0,16606,0,7279,200,18415,5325,14492,3000,1] 

だから私は2つのオプションがあります:

  1. ファイルにJSON文字列を保存し、後でそれを読んで。
  2. SQliteデータベースに保存するJSON配列は、ほぼ10列と5000行です。

最初のオプションが効率的であるようです。しかし後で、私はさまざまな情報を表示するためにJSONを操作する必要があります。場合によっては、配列情報を取得するために配列全体を検索する必要があり、このようなケースが多いです。だからこれは非常に時間がかかるでしょう。

2番目のオプションは、検索と表示の方が高速です。だから私は第二の選択肢に近づいた。しかし、一度に5000行を挿入するには時間がかかります。私は改善のためAsyncTaskに行ったが、JSONを解析してSQliteテーブルに格納するには時間がかかりすぎている。

どうすればいいですか?この巨大な情報を保存し、後でそれを効率的に使用する最良の方法は何ですか?

答えて

5

私はこの今日のかなり近い質問に答えました - File or Database? - Best Practice to save Objects on Android-Device。私は、5000行を挿入するのが長すぎる場合は、それらをすべて単一のトランザクションで追加するか、バルクロードメカニズムを使用して追加することを追加したいと考えていました。ファイルを使用するのではなく、挿入の問題を突き止める努力が必要です。

バルクロードについてthis tutorialを参照してください。SQLite