[kotlin] 코틀린에서 룸 데이터베이스 설정하기
코틀린에서 안드로이드 앱을 개발할 때 데이터베이스를 사용해야 하는 경우가 많습니다. 룸(Room)은 안드로이드에서 SQLite 데이터베이스를 편리하게 다룰 수 있도록 도와주는 라이브러리입니다. 이번 글에서는 코틀린으로 안드로이드 앱을 만들 때 룸 데이터베이스를 설정하는 방법에 대해 알아보겠습니다.
1. Gradle 설정
룸 데이터베이스를 사용하기 위해서는 build.gradle 파일에 의존성을 추가해야 합니다.
dependencies {
def roomVersion = "2.4.0"
implementation "androidx.room:room-runtime:$roomVersion"
kapt "androidx.room:room-compiler:$roomVersion"
}
2. 엔티티(Entities) 생성
룸에서는 데이터베이스의 테이블을 객체로 표현하는 엔티티 클래스를 정의해야 합니다. 예를 들어, 사용자 정보를 담을 수 있는 User
엔티티를 생성해보겠습니다.
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String,
val email: String
)
3. 데이터베이스 설정
다음으로, 룸 데이터베이스를 정의하는 클래스를 생성해야 합니다. 이 클래스는 데이터베이스와의 연결을 담당하며, 룸 데이터베이스에 접근하기 위한 DAO(Data Access Object)를 포함하고 있습니다.
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
4. DAO 설정
마지막으로, 데이터베이스와 상호작용하기 위한 메서드를 포함하는 DAO를 생성해야 합니다. 아래는 User
엔티티와 상호작용하는 DAO의 예시입니다.
@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAll(): List<User>
@Insert
fun insert(user: User)
@Delete
fun delete(user: User)
}
이제 룸 데이터베이스 설정이 완료되었습니다. 데이터베이스를 사용하여 데이터를 읽고 쓸 수 있는 기능을 구현할 수 있게 되었습니다.
룸(Room)에 대한 더 자세한 정보는 룸 공식 문서를 참고하시기 바랍니다.