如何解决插入房间后是否可以返回Flow <List <Long >>?
在插入Flow<List<Long>>
之后是否可以返回Room
?
类似这样的东西:
@Insert(onConflict = REPLACE)
suspend fun insert( notesModel: List<NotesModel>): Flow<List<Long>>
当我这样做时,我会得到一个例外:
错误:不确定如何处理插入方法的返回类型。
解决方法
AFAIK,您不能。 @Insert
带注释的函数的返回类型可以是Unit
,Long
,List<Long>
或Array<Long>
。
只有带有@Query
注释的函数才能返回可观察对象,例如LivaData
,Flow
,Single
,Flowable
, etc 。因为@Query
函数旨在能够反映db上的更改。
这里是official documentation的引文:
如果@Insert方法仅接收1个参数,则它可以返回long,这是插入项的新rowId。如果参数是数组或集合,则应返回long []或List。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。