일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Binding Adapter
- Livedata
- Datastore
- Safe Args
- recyclerview
- 개발자
- 취업
- 면접
- Android
- BottomNavigationView
- fragment
- Navigation Component
- Jetpack Compose
- 안드로이드
- 일렉트론
- Gradle
- TypeConverter
- 주석
- nav_graph
- room
- kotlin
- ViewModel
- android studio
- 스플래시
- imageview
- themes.xml
- asLiveData()
- hilt
- electron
- 테마
- Today
- Total
목록ViewModel (2)
나만 보는 일기장
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..
간단한 게시판 앱을 만들면서 글 작성 페이지를 만들면서, 메인 액티비티에서 뷰 모델에 넣어놓은 유저의 토큰 값을 글 작성 프래그먼트에서는 불러오지 못하는 문제를 겪었는데, 같은 뷰 모델 클래스를 사용해 같은 객체를 사용할 것이라 생각한 게 실수였습니다. 뷰 모델을 생성할 때 모든 곳에서 by viewModels()로 받아오니 그 때마다 뷰 모델이 새로 생성되는 것으로 보입니다. 해결법은 by activityViewModels()로 부모 액티비티에 존재하는 뷰 모델을 가져오는 방식이었습니다. 부모 액티비티에서는 원래처럼 써주고 메인 액티비티의 ViewModel을 받을 Fragment에서는 by activityViewModels()로 부모 액티비티에서 생성된 뷰 모델을 받아오면 됩니다. 배운 곳: [Andr..