Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- flutter
- for문
- array
- While
- 프로그래머스
- 앱개발
- 별찍기
- dart
- dataclass
- For
- 안드로이드
- 백준
- Java
- BufferedReader
- Android
- CLASS
- IF
- Scanner
- androidstudio
- error
- Return
- 반복문
- string
- BufferedWriter
- 다트
- android studio
- Kotlin
- App
- 코딩테스트
- 코틀린
Archives
- Today
- Total
amid.jungs
LiveData 본문
LiveData 란?
데이터 홀더클래스로 수명 주기를 인식하며 Observer 패턴을 사용한다.
활성상태 (activity : STARTED , RESUMED) 일때 데이터를 업데이트하며
데이터에 변화가 일어날 경우, Observer의 onChanged()메소드가 실행된다.
공식문서 : developer.android.com/topic/libraries/architecture/livedata?hl=ko
사용방법
I. LiveData 정의
Room을 사용하여 만든 Dao List를 LiveData로 변경
@Dao
interface TodoDao {
@Query("SELECT * FROM Todo")
fun getAll(): LiveData<List<Todo>>
@Insert
fun insert(todo : Todo)
@Update
fun update(todo : Todo)
@Delete
fun delete (todo : Todo)
}
II. Observer Setting
val db = Room.databaseBuilder(
applicationContext,
AppDatabase::class.java, "database-name"
) .allowMainThreadQueries()
.build()
//LiveData
db.todoDao().getAll().observe(this, Observer { todos ->
result_text.text = todos.toString()
} )
btn_add.setOnClickListener {
db.todoDao().insert(Todo(todo_edit.text.toString()))
}
'Android' 카테고리의 다른 글
Android & Kotlin : Log, 변수 (0) | 2021.07.25 |
---|---|
Android란? (0) | 2021.07.25 |
Room 사용하기 (0) | 2021.03.29 |
Data Binding (2) | 2021.03.23 |
[Android_Kotlin] Retrofit2 +Json 사용하기 (0) | 2021.03.21 |
Comments