Android Room列表列表List <List <String >>

问题描述

因此,我正尝试对数据库进行重新整理,以减少将来的工作量。我从JSON读取到Room,然后选择并选择要存储的键和值,但是我想让它遍历每个JSON项并记录每个键和每个值的列表。每个JSON项/对象最多可以具有100个键,并且随时可能更改。 (如下所示的JSON示例)

        "first5Weights": [10,9.7,8.9,8.8,8.0],"numberToys": 3,"height": 15.3,"weight": 15.2,"parent": "ROXY","names": ["LALA","LILLY"],

我完成了将所有数据读取到列表的代码

List<String> keys
List<List<String>> values

我决定列出这些值的列表,因此无论有多少个值都无所谓。

我没有计划,但是很快就意识到自己无法找到一种从数据库/ DAO中查询List 方法

实体:

@ColumnInfo(name = "valuesList")
@TypeConverters({Converters.class})
private List<List<String>> valuesList;

Dao条目:

@Query("SELECT valuesList FROM data where id = :id")
LiveData<List<List<String>>> loadValuesById(int id);

转换器:

@TypeConverter
public static List<List<String>> listListFromString(String value) {
 return value == null
   ? null
   : (new Gson().fromJson(value,new Typetoken<List<List<String>>>() {}.getType()));
}

@TypeConverter
public static String stringFromListList(List<List<String>> value) {
 return value == null ? null : new Gson().toJson(value);
}

这根本不可能吗?还是有人能想到一种方法吗? (我的键列表就是列表) 我可以从我的List 的DAO中检索一个列表,但是尝试“取消拼合”该列表很困难。

任何帮助都会很棒。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)