Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过Room Library选择多文件列_Android - Fatal编程技术网

Android 通过Room Library选择多文件列

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; 公共字符串消息; 公共长时间戳; } 提前感谢您的帮助。您的方

我想通过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);