0
class A{
String str1="";
String str2="";
ArrayList<B> barr=new ArrayList<B>();

}


class B{
int a;
double d;
}


**ArrayList<A> aArr=new ArrayList<A>();**

aArr リストを sqlite db の列に格納して取得したいと考えています。

JSON文字列に変換できると思います。どうやってするの?

誰でも私を助けてください。

4

3 に答える 3

0

すでにGsonを使用している場合、または使用を計画している場合は、リストオブジェクトをJson文字列Textに変換してから、SQLiteの型列に格納することをお勧めします。また、同じライブラリを使用してjson文字列からオブジェクトを再構築するのも非常に簡単です。私は個人的にバイトで遊ぶよりも文字列を扱うのが好きなので、それは私からの単なる提案です。

于 2012-06-13T06:59:49.983 に答える
0

この方法を試すことができます。

public long insertString(String newString) 
  {
    ContentValues newStringValue = new ContentValues();

    newStringValue.put(KEY_STRING, newString);

    return db.insert(DATABASE_TABLE, null, newStringValue);
  }
于 2013-03-11T06:26:23.863 に答える
0

特に配列リストを1列だけに格納する場合は、それに対する組み込み関数はありません。クラス A を文字列に変換し、データを特定の文字で区切ることはできますが、それは正しい方法ではありません。

次のような新しいデータベース システムが必要です。

あなたのテーブル:

あなたのコラム | その他のコラム | と別の列 | ArraylistA_id

ArraylistA テーブル:

ArraylistA_id | 文字列 1 | 文字列 2 | ArraylistB_id

ArraylistB テーブル:

ArraylistB_id | 整数 | ダブル

このデータベース システムでは、列「ArraylistA id」と「ArraylistB id」は、別のテーブルの他の行へのポインタです。たとえば、arraylistA が次の範囲外に存在する場合:

配列リスト A{

{"テスト", "テスト", ArrayListB{{1,1.0}, {2, 2.0}, {3, 3.0}}}

{"こんにちは", "こんにちは", ArrayListB{{9,9.0}, {8, 8.0}, {7, 7.0}}}

};

SQL データベースのレコードは次のようになります。

あなたのテーブル:

Your Column | Some other Column | and another Column | ArraylistA_id

                                                           1

ArraylistA テーブル:

ArraylistA_id | String1 | String2 | ArraylistB_id

   1           TEST      TEST          1

   2           HELLO     HELLO         2

ArraylistB テーブル:

ArraylistB_id | int | double

  1            1      1.0

  1            2      2.0

  1            3      3.0

  2            9      9.0

  2            8      8.0

  2            7      7.0

完全な話の要点は、このような配列リストを 1 つの列だけに格納してはならないということです。このようなことを行う前に、適切なデータベース システムが必要です。電車の中でタブレットで作ったので、学校に着いたら少し片付けます。

于 2012-06-13T07:09:08.253 に答える