簡體   English   中英

如何使用 Android Studio 中的 Room 和 Kotlin 查詢零件字段的記錄?

[英]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的部分字段(如IDname )的記錄,我該怎么辦?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM