GreenDAO는 안드로이드 앱의 데이터베이스를 관리하기 위한 ORM(Object-Relational Mapping) 라이브러리로, 코틀린을 사용하여 안드로이드 앱을 개발하는 경우 GreenDAO를 통해 데이터베이스를 연동할 수 있습니다.
GreenDAO 라이브러리 추가
먼저, build.gradle 파일에 다음과 같이 GreenDAO 라이브러리를 추가합니다.
implementation 'org.greenrobot:greendao:3.3.0'
그리고 다음과 같이 Kotlin으로 작성된 클래스를 Entity로 정의합니다.
@Entity
class User {
@Id
var id: Long = 0
var name: String? = null
var email: String? = null
}
위의 코드에서 @Entity
는 Entity 클래스임을 나타내고, @Id
는 해당 필드가 데이터베이스의 Primary Key임을 나타냅니다.
GreenDAO 코드 생성
그 다음에는 GreenDAO 코드 생성을 실행해야 합니다. 해당 코드는 greenDao 패키지에 자동으로 생성됩니다. 코드 생성은 Gradle의 Task를 실행하거나, Build > Make Project 또는 Rebuild Project를 통해 수행할 수 있습니다.
데이터베이스 연결 설정
GreenDAO 클래스를 작성하여 데이터베이스에 접속합니다.
class DatabaseManager(context: Context) {
private val devOpenHelper: DaoMaster.DevOpenHelper
private val daoMaster: DaoMaster
val daoSession: DaoSession
init {
devOpenHelper = DaoMaster.DevOpenHelper(context, "dbname", null)
val db = devOpenHelper.writableDb
daoMaster = DaoMaster(db)
daoSession = daoMaster.newSession()
}
}
위의 코드에서는 DaoMaster
및 DaoSession
객체를 사용하여 데이터베이스에 연결하고, DevOpenHelper
를 통해 데이터베이스의 업데이트를 관리합니다.
데이터베이스 조작
마지막으로, 코틀린 코드에서 GreenDAO를 사용하여 데이터베이스를 조작할 수 있습니다.
val user = User()
user.name = "John Doe"
user.email = "john@example.com"
daoSession.userDao.insert(user)
위의 코드에서는 user
객체를 생성하고, daoSession
을 통해 해당 객체를 데이터베이스에 삽입합니다.
이제 코틀린으로 GreenDAO를 사용하여 데이터베이스를 조작하는 방법에 대해 알아보았습니다. GreenDAO를 사용하면 안드로이드 앱의 데이터베이스를 효율적으로 관리할 수 있으며, 코틀린과의 호환성도 뛰어나기 때문에 안정적인 앱을 개발할 수 있습니다.
끝.