使用 Room library 即可輕鬆在 Android app 中使用 database。Room 也稱為 ORM (Object Relational Mapping) library,顧名思義,就是將 relational database 中的 table 對應至可在 Kotlin 程式碼中使用的 objects。在本課程中,您只需要關注讀取 data。使用預先填入的 database,您就能載入公車抵達時間 table 中的 data,並在 RecyclerView
中呈現這些 data。
在課程中,您將瞭解使用 Room 的基礎知識,包括 database class、DAO、實體(entities)和 view models。此外,課程中也會介紹 ListAdapter
class,讓您透過另一種方式在 RecyclerView
中呈現 data;以及 Flow,這是一種類似於 LiveData
的 Kotlin 語言功能,可使 UI 針對 database 變更做出 response。
學習目標
- 將 database table 以 Kotlin objects (實體(entities)) 表示。
- 定義要用於在 app 中使用 Room 的 database class,並從檔案預先填入 database。
- 定義 DAO class,並使用 SQL 查詢從 Kotlin 程式碼存取 database。
- 定義 view models,以允許 UI 與 DAO 互動。
- 瞭解如何在 recycler view 中使用
ListAdapter
。
- 瞭解 Kotlin Flow 的基本概念,以及學習如何實際運用,讓 UI 對基礎 data 的變更做出 response。