[英]Android - How can I prepopulating data in Room Database in kotlin (updated)?
[英]How can I query a record of part fields using Room in Android Studio with Kotlin?
在帶有 Kotlin 的 Android Studio 中使用帶有 Room 框架的fun listVoice():LiveData<List<MVoice>>
來查詢記錄 MVoice 效果很好。
現在我希望查詢MVoice的部分字段(如ID
和name
)的記錄,我該怎么辦?
interface DBVoiceDao{
@Query("SELECT * FROM voice_table ORDER BY createdDate desc")
fun listVoice():LiveData<List<MVoice>>
/* How can I do this?
@Query("SELECT id, name FROM voice_table ORDER BY createdDate desc")
fun listVoiceOfPartField():LiveData< ??? >
*/
}
@Entity(tableName = "voice_table", indices = [Index("createdDate")])
data class MVoice(
@PrimaryKey (autoGenerate = true) @ColumnInfo(name = "id") var id: Int = 0,
var name: String = "Untitled",
var path: String = "My path",
var createdDate: Calendar = Calendar.getInstance(),
var isStar: Boolean = false,
var description: String="My description"
)
正如“ Florina Muntenescu ”所建議的那樣,在本文中閱讀您需要的內容7 房間專業提示
您可以通過制作新的 Model Class 來實現它:
data class VoiceMinimal(@ColumnInfo(name = "id") val id: Int,
@ColumnInfo(name = "name") val name: String)
在 DAO class 中,我們定義了查詢和 select 來自語音表的右列。
@Dao
interface DBVoiceDao {
@Query(“SELECT id, name FROM voice_table ORDER BY createdDate dESC)
fun getVoiceMinimal(): List<VoiceMinimal>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.