5

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

[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. ほぼ 10 列と 5000 行の JSON 配列を SQLite データベースに保存します。

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

2 番目のオプションは、検索と表示を高速化するのに適しています。そこで、私は 2 番目のオプションに取り組みました。しかし、一度に 5000 行を挿入するのにも時間がかかります。私はAsyncTask改善のためにそれを行いましたが、JSONを解析してテーブルに保存するのに時間がかかりすぎていSQliteます。

それで、なにかお手伝いできますか?この膨大な情報を保存し、後で効率的に使用するにはどうすればよいでしょうか?

4

1 に答える 1

6

今日、これにかなり近い質問に答えました-ファイルまたはデータベース? - オブジェクトを Android デバイスに保存するためのベスト プラクティス。5000 行の挿入に時間がかかりすぎる場合は、1 つのトランザクションですべてを追加するか、一括読み込みメカニズムを使用してみてください。ファイルを使おうとするのではなく、挿入の問題を解決する努力をする価値があります。

SQLite の一括読み込みに関するこのチュートリアルを参照してください

于 2013-08-03T02:32:02.393 に答える