Android Kotlin DB - Room을 사용하여 데이터베이스 사용 (1)

Notepad96

·

2020. 12. 6. 14:37

300x250

 

 

 

 


1. Room

Room은 SQLite에 대하여 추상화 레이어를 제공하여 원활한 데이터베이스 액세스를 지원하는 동시에 SQLite를 완벽하게 활용할 수 있게한다.

 

 

따라서 공식 문서에서도 SQLite 대신 Room을 사용할 것을 적극적으로 권장한다.

 

 

 

 

Room을 사용하기 위해서는 우선 Android 프로젝트를 생성 후 build.gradle 파일에 다음을 추가해주어야 한다.

dependencies {
  def room_version = "2.2.5"

  implementation "androidx.room:room-runtime:$room_version"
  kapt "androidx.room:room-compiler:$room_version"

  // optional - Kotlin Extensions and Coroutines support for Room
  implementation "androidx.room:room-ktx:$room_version"

  // optional - Test helpers
  testImplementation "androidx.room:room-testing:$room_version"
}

추가한 모습

 

 

위 코드는 이후 room이 업데이트되어 버전이 현재 지원하는 버전 다르거나 할 수 있는 점을 고려하여, 아래 공식문서를 참조하여 코드를 삽입 하는 것을 추천한다.

 

 

 

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

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

developer.android.com

 

 

 

 

 


2. 과정 및 결과

 

결 과

 

1. 프로젝트 생성 및 Room 종속성 추가

해당 글

 

 

 

 

2. Database Entity 생성 - 테이블 정의

 

 

 

Android Kotlin DB - Table 정의 (2)

0. 이전글 Android Kotlin DB - Room을 사용하여 데이터베이스 사용 (1) 1. Room Room은 SQLite에 대하여 추상화 레이어를 제공하여 원활한 데이터베이스 액세스를 지원하는 동시에 SQLite를 완벽하게 활용할

notepad96.tistory.com

 

 

 

3. DAO[Data Access Object] 구현

 

 

 

Android Kotlin DB - DAO를 사용하여 데이터 접근 (3)

0. 이전 글 Android Kotlin DB - Table 정의 (2) 0. 이전글 Android Kotlin DB - Room을 사용하여 데이터베이스 사용 (1) 1. Room Room은 SQLite에 대하여 추상화 레이어를 제공하여 원활한 데이터베이스 액세..

notepad96.tistory.com

 

 

 

 

4. Database 생성

 

 

 

Android Kotlin DB - AppDataBase 데이터베이스 생성 (4)

0. 이전 글 Android Kotlin DB - DAO를 사용하여 데이터 접근 (3) 0. 이전 글 Android Kotlin DB - Table 정의 (2) 0. 이전글 Android Kotlin DB - Room을 사용하여 데이터베이스 사용 (1) 1. Room Room은 SQL..

notepad96.tistory.com

 

 

 

 

5. 삽입, 삭제, 업데이트 UI 및 기능 구현

 

 

Android Kotlin DB - insert, delete, update, search(삽입, 삭제, 업데이트, 탐색) (5)

1. Layout activity_main.xml - Name, Writer, Price를 입력 후 '추 가' 버튼을 클릭하면 DB에 추가된다. - 삭제할 ID를 입력 후 '삭 제' 버튼을 클릭하면 DB에 해당 ID..

notepad96.tistory.com

 

 

 

 

 

 


3. 전체 코드

 

 

Notepad96/Android

Kotlin. Contribute to Notepad96/Android development by creating an account on GitHub.

github.com

 

300x250