Android 如何使用Room从游标获取数据

Android 如何使用Room从游标获取数据,android,android-room,Android,Android Room,我正在使用这个查询从使用Room的数据库中获取数据,但无法确定这个查询的返回类型以及如何从该查询中获取数据 @Query("SELECT COUNT(Unit), Age as COUNT from test where Age in (1, 2, 3) and Unit in ("U5", "U6", "U4") group by Age") 我在sqllite online中运行时得到的输出如下面的屏幕截图所示。所以它就像密钥、值对一样 步骤1:修改查询以命名两个输出: SELECT CO

我正在使用这个查询从使用Room的数据库中获取数据,但无法确定这个查询的返回类型以及如何从该查询中获取数据

@Query("SELECT COUNT(Unit), Age as COUNT from test where Age in (1, 2, 3) and Unit in ("U5", "U6", "U4") group by Age")
我在sqllite online中运行时得到的输出如下面的屏幕截图所示。所以它就像密钥、值对一样


步骤1:修改查询以命名两个输出:

SELECT COUNT(Unit) as count, Age from test where Age in (1, 2, 3) and Unit in ("U5", "U6", "U4") group by Age
步骤2:创建与查询输出匹配的POJO:

class AgeCounts {
  public int count;
  public int age;
}
步骤3:使用DAO方法,@Query将返回POJO类的列表,例如List,可能包装为被动类型,例如LiveData,Single:


谢谢我要试试这个
@Query("SELECT COUNT(Unit) as count, Age from test where Age in (1, 2, 3) and Unit in ("U5", "U6", "U4") group by Age")
List<AgeCounts> getAgeCounts();