我正在使用DBflow。我已多次尝试按以下方式进行查询:
public class ScoreRepository {
public List<Score> findAllScore() {
return SQLite.select()
.from(Score.class)
.queryList();
}
public List<String> findScore01() {
return SQLite.select()
.from(Score.class)
.queryList();
}
}
在我的情况findScore01()
中,此方法不起作用。我想制作一个列字符串列表。我不想制作一个对象列表。
答案 0 :(得分:0)
queryList 会为您提供“Score
”类的列表。要获取自定义数据,
例如(两个表的连接,或者在您的情况下,只有一列)
你需要创建一个从QueryModel
扩展的类。然后使用
.queryCustomList(customclass.class);
那会给你
List< customclass > ls;
查看此答案以获取更多详细信息:
答案 1 :(得分:0)
您可以使用queryCustomList从现有表中获取子表或连接两个表。与上面提到的Farhan一样,您可以创建一个包含所需字段的QueryModel类,并使用它来检索分数,但它仍然是您的自定义模型查询类的列表,而不是您需要的字符串列表。
我能想到的唯一解决方案是循环结果列表并生成一个字符串列表,如:
List<Score> scoreList = SQLite.select(Score_Table.score01)
.from(Score.class)
.queryList();
List<String> score01List = new ArrayList<>();
foreach(Score score: scoreList) {
score01List.add(score.getScore01());
}