5 / 8
Sukurk NoteDao sąsają
Tame pačiame data pakete sukurk NoteDao.kt. DAO (Data Access Object) — tai sąsaja, kurią Room implementuos.
Ką tai daro:
@Daovirš sąsajos — Room generuos klasę, kuri implementuoja šiuos metodus.fun getAll(): Flow<List<Note>>— grąžinaFlow, ne paprastąList. Tai svarbu: kai pasikeičia lentelė, Flow automatiškai išleidžia naują sąrašą. UI atsinaujins savaime.suspend fun insert(...)— Room verčia rašyti operacijas (insert, update, delete) kaip korutinas, nes jos neturi blokuoti UI gijos.@Insert(onConflict = OnConflictStrategy.REPLACE)— jei bandai įterpti pastabos su tuo pačiu ID, perrašyk seną.
Pastaba.
@Queryužklausos tikrinamos kompiliavimo metu. Jei parašysiSELECT * FROM noets(su klaida), kompiliatorius pasakys iškart, ne tik paleidus programą.