Android 通过Room Library选择多文件列
我想通过Android SDK环境中的Room Library从SqLite中选择多个列。 下面是选择它的查询。 @QuerySELECT ID,message,Chat_message的时间戳,其中groupID=:groupID 按时间戳顺序描述限制1 公共列表获取\u最后\u消息\u ID\u时间戳字符串 groupID; 我在main类下定义的最后一个_Msg_Detail类如下:- 公共类最后消息详细信息{ 公共整数ID; 公共字符串消息; 公共长时间戳; }Android 通过Room Library选择多文件列,android,Android,我想通过Android SDK环境中的Room Library从SqLite中选择多个列。 下面是选择它的查询。 @QuerySELECT ID,message,Chat_message的时间戳,其中groupID=:groupID 按时间戳顺序描述限制1 公共列表获取\u最后\u消息\u ID\u时间戳字符串 groupID; 我在main类下定义的最后一个_Msg_Detail类如下:- 公共类最后消息详细信息{ 公共整数ID; 公共字符串消息; 公共长时间戳; } 提前感谢您的帮助。您的方
提前感谢您的帮助。您的方法返回自定义对象,该对象有很多字段 因此,当您尝试返回特定列时,您尝试返回一个新对象。因此错误发生了 要解决此问题,请为选定列创建新对象。它必须有这些字段
ID,message,timestamp
并在方法中使用对象
@Query("SELECT ID,message,timestamp FROM Chat_Message WHERE groupID =:groupID ORDER BY timestamp DESC LIMIT 1")
public List<NEW_OBJECT> get_last_msg_ID_timestamp (String groupID);
谢谢你的建议。我会检查一下然后回来。同时请您告知我们是否可以选择三列而不是通过对象方式?我们不能用更简单的方法检索值吗?Thnx很抱歉,我认为没有办法,也许你们可以使用@TypeConverter看到这个,或者你们可以选择*并返回列表,然后创建getter和setter。因此,您可以只使用getId、getMessage和getTimestamp方法
@Query("SELECT ID,message,timestamp FROM Chat_Message WHERE groupID =:groupID ORDER BY timestamp DESC LIMIT 1")
public List<NEW_OBJECT> get_last_msg_ID_timestamp (String groupID);