0

Android 翻訳アプリ用に SQLite データ ストレージを実装しています。状況は次のとおりです。アプリはサーバーから変換を JSON として受け取り、それを解析してオブジェクト ツリー (平均で 50 ~ 100 個のオブジェクト) を構築します。次に、それを SQLite DB に保存する必要があります。先生に聞いたところ、JSON レスポンス全体を保存するのではなく、より複雑な DB 構造を作成するように勧められました。私はそうしましたが、たった1つの辞書記事を保存するために実行される(そして、それぞれ50〜100行が作成される)50〜100のDBクエリが心配です。

今、複雑なオブジェクト ツリーを DB に格納する最善の方法は何か、または最大 100 個の DB クエリを実行しても問題ないかどうか疑問に思っています。

それでも、JSON 応答を DB に保存する方がよいのでしょうか? 私が必要とする辞書記事に対する唯一の操作はそれらを検索することであり、変更は必要ありません。

4

2 に答える 2

2

適切なデータベース構造と正規化されたデータを用意することをお勧めします。これにより、データをより効率的にクエリできます。また、他の人があなたのコードを開発した場合、理解しやすくなります。

すべての更新を 1 回のトランザクションで行う必要があり、一度に 100 レコードを保存しても問題ありません。それに似た構造を使用できます。

    SQLiteDatabase db = sqlHelper.getWritableDatabase(); // this returns a database
    db.beginTransaction();

    try {
        // all your updates
        db.setTransactionSuccessful();
    } finally {
      db.endTransaction();
    }

    db.close();
于 2013-11-04T20:15:51.273 に答える