如何解决在Android中使用Room时,如何简单地通过传递参数来进行查询
我在Android Studio项目中使用Room框架。
目前,我需要获取MVoice的记录,并按createdDate desc
,createdDate asc
,name desc
或name asc
对查询结果进行排序。
所以我写了下面的代码,但是它太复杂了,我想它可能很简单,例如将字段作为参数传递,我不知道该怎么办,你能告诉我吗?
代码
interface DBVoiceDao{
@Query("SELECT * FROM voice_table ORDER BY createdDate desc")
fun listVoiceDateDesc():LiveData<List<MVoice>>
@Query("SELECT * FROM voice_table ORDER BY createdDate asc")
fun listVoiceDateAsc():LiveData<List<MVoice>>
@Query("SELECT * FROM voice_table ORDER BY name desc")
fun listVoiceNameDesc():LiveData<List<MVoice>>
@Query("SELECT * FROM voice_table ORDER BY name asc")
fun listVoiceNameAsc():LiveData<List<MVoice>>
}
data class MVoice(
@PrimaryKey (autoGenerate = true) @ColumnInfo(name = "id") var id: Int = 0,var name: String = "",var path: String = "",var createdDate: Calendar = Calendar.getInstance(),var isStar: Boolean = false,var description: String = "",var translation: String = ""
): Parcelable {}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。