| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
- Jetpack Compose
 - Datastore
 - Android
 - imageview
 - 안드로이드
 - Binding Adapter
 - Navigation Component
 - 면접
 - asLiveData()
 - themes.xml
 - electron
 - 주석
 - hilt
 - 개발자
 - kotlin
 - 일렉트론
 - room
 - 테마
 - fragment
 - android studio
 - Gradle
 - nav_graph
 - ViewModel
 - Safe Args
 - BottomNavigationView
 - 취업
 - 스플래시
 - Livedata
 - recyclerview
 - TypeConverter
 
- Today
 
- Total
 
목록room (3)
나만 보는 일기장
Room 지속성 라이브러리는 SQLite에 추상화 계층을 제공하여 SQLite를 완벽히 활용하면서 더 견고한 데이터베이스 액세스를 가능하게 합니다. 오늘은 Hilt와 ViewModel 등의 여러 라이브러리를 통해 Room을 사용하는 법을 알아보도록 하겠습니다. Room의 구조 Room을 사용할 때 만들어 주어야 하는 것은 크게 1. DB에 들어가는 테이블의 구조인 Entity, 2. DB의 데이터에 접근할 수 있는 함수를 정의해 놓은 DAO, 3. DB 그 자체인 Database 3가지 입니다. 1. Entity @Entity(tableName = Constants.TABLE_NAME) class TeamBookmarkEntity( var favoriteTeam: TeamData ) { @PrimaryK..
Room이나 DataStore 등을 사용할 때 Flow를 쓰게 되는데, 이를 LiveData로 변환해주어야 할 경우가 생깁니다. 이때 바로 .asLiveData() 함수를 호출해주면 됩니다.
데이터베이스에는 복잡한 구조를 가진 커스텀 클래스를 넣기 어렵기 때문에 이를 Int, String형 같은 원시 타입으로 변환(직렬화) 해주어야 합니다. 이때 이 직렬화와 역직렬화를 수행하기 위해 만드는 게 바로 Type Converter입니다. data class Result( @SerializedName("aggregateLikes") val aggregateLikes: Int, @SerializedName("cheap") val cheap: Boolean, @SerializedName("dairyFree") val dairyFree: Boolean, @SerializedName("extendedIngredients") val extendedIngredients: List, @SerializedName..