Android(Kotlin)

Android Room

개복치 개발자 2021. 8. 22. 03:18

 안드로이드 Room에 대한 간단한 예제입니다.

 

 구글링해도 복잡한 예제밖에 없고, viewmodel과 livedata, 코루틴등을 알지 못하면 예제를 이해할 수 없도록 만들어놨기 때문에 가장 간단하게 제가 만들어봤습니다.

 

 일단 gradle에 넣어주고

 

 

 Entity를 만들어줍니다.  

 

 db를 만져보셨으면 대충 감이 올텐데, 데이터 모델을 정의하는 곳입니다.

 

 

 그 다음 DAO를 만들어줍니다.

 

 DB에 쿼리를 날리는 곳이라고 생각하면 됩니다.

 

 

 

 그 후, 데이터베이스를 만들어주는 곳을 정의하고 난 다음

 

 

 메인액티비티에서 불러와서 사용해봤습니다.

 

 메인 쓰레드에서 접근하면 오류나기 때문에 새롭게 쓰레드를 만들어줬습니다.

 (이 부분을 코루틴을 이용하면 간단합니다.)

 

 

 

 

 

 참조

 

 - https://developer.android.com/training/data-storage/room?hl=ko 

 

Room을 사용하여 로컬 데이터베이스에 데이터 저장  |  Android 개발자  |  Android Developers

Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기

developer.android.com

 

- https://blog.yena.io/studynote/2018/09/08/Android-Kotlin-Room.html

 

[Android][Kotlin] Room 으로 DB 저장하기

로컬 DB를 저장할 일이 있어서 SQLite를 살펴보다가, 작년에 발표된 Room이라는 존재를 알게 되었다. 과연 정말 SQLite보다 간단하고 좋을까? 라는 의문으로 시작해서 이번 포스트를 작성하게 되었다.

blog.yena.io

https://developer.android.com/codelabs/android-room-with-a-view-kotlin#3

 

뷰를 사용한 Android Room - Kotlin  |  Android 개발자  |  Android Developers

이 Codelab에서는 Kotlin 코루틴과 함께 Android 아키텍처 구성요소(RoomDatabase, Entity, DAO, AndroidViewModel, LiveData)를 사용하는 Android 앱을 Kotlin으로 빌드합니다. 이 샘플 앱은 단어 목록을 Room 데이터베이스

developer.android.com

 

'Android(Kotlin)' 카테고리의 다른 글

kotlin lateinit lazy  (0) 2021.08.22
rxAndroid, rxJava, rxKotlin  (0) 2021.08.22
Execution failed for task ':app:kaptDebugKotlin'  (0) 2021.08.21
간단한 Android Network 연결 상태 체크  (0) 2021.08.20
Fragment LifeCycle  (0) 2021.08.19