如何将List <String>属性添加到我的greendao生成器?

rem*_*dy. 2 android greendao

我正在尝试使用greendao生成器生成我的模型,我不太确定如何添加接受a的属性 List<String>

我知道如何添加List<Model>使用addToMany但如果我需要ArrayList在我的模型中存储一个怎么办?

像这样的东西:

Entity tags = schema.addEntity("Tags");
    tags.implementsInterface("android.os.Parcelable");
    tags.addLongProperty("tagId").primaryKey().autoincrement();
    tags.addLongProperty("date");
    tags.addArrayStringProperty("array"); // something like this
Run Code Online (Sandbox Code Playgroud)

我在想创造另一个实体存储阵列的所有值,并且做ToMany这样的

Entity myArray = schema.addEntity("MyArray");
    myArray.implementsInterface("android.os.Parcelable");
    myArray.addLongProperty("myArrayId").primaryKey().autoincrement();
    myArray.addLongProperty("id").notNull().getProperty();
    Property tagId = myArray.addLongProperty("tagId").getProperty();

ToMany tagToMyArray = tag.addToMany(myArray, tagId);
tagToMyArray.setName("tags");
myArray.addToOne(tag, tagId);
Run Code Online (Sandbox Code Playgroud)

Abh*_*sal 6

您可以序列化该ArrayList,然后将其保存为greenDAO表中的字符串属性.

String arrayString = new Gson().toJson(yourArrayList);
Run Code Online (Sandbox Code Playgroud)

然后像这样检索回来

Type listType = new TypeToken<ArrayList<String>>(){}.getType();
List<String> arrayList = new Gson().fromJson(stringFromDb, listType)
Run Code Online (Sandbox Code Playgroud)