[kotlin] 코틀린에서 ActiveAndroid와의 데이터베이스 연동

안녕하세요! 이번 포스트에서는 코틀린 언어로 안드로이드 앱에서 ActiveAndroid 라이브러리와의 데이터베이스 연동하는 방법에 대해 알아보겠습니다.

ActiveAndroid란?

ActiveAndroid는 안드로이드 플랫폼을 위한 객체 관계 매핑(ORM) 라이브러리로, SQLite 데이터베이스와의 상호 작용을 단순화하는 데 도움을 주는 유용한 도구입니다.

Gradle에 의존성 추가

먼저 build.gradle 파일에 ActiveAndroid의 의존성을 추가해야 합니다.

dependencies {
    implementation 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
}

의존성을 추가한 후 프로젝트를 동기화합니다.

모델 클래스 생성

ActiveAndroid로 데이터베이스 테이블에 매핑할 모델 클래스를 작성해야 합니다.

import com.activeandroid.Model
import com.activeandroid.annotation.Column
import com.activeandroid.annotation.Table

@Table(name = "Items")
class Item : Model() {
    @Column(name = "name")
    var name: String? = null

    @Column(name = "price")
    var price: Double = 0.0
}

위 코드에서 @Table 어노테이션은 테이블의 이름을 정의하고, @Column 어노테이션은 열의 이름을 정의합니다.

데이터베이스 초기화

ActiveAndroid의 Application 클래스를 상속받는 커스텀 어플리케이션 클래스를 생성하고, onCreate 메서드에서 다음과 같이 데이터베이스를 초기화합니다.

import android.app.Application
import com.activeandroid.ActiveAndroid

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        ActiveAndroid.initialize(this)
    }
}

그런 다음, AndroidManifest.xml 파일에서 이 커스텀 어플리케이션 클래스를 등록해야 합니다.

<application
    android:name=".MyApplication"
    ...
</application>

데이터베이스 작업

이제 데이터베이스에 새로운 레코드를 추가하거나 조회하는 등의 작업을 수행할 수 있습니다.

// 새 레코드 추가
val item = Item()
item.name = "휴대폰"
item.price = 1000.0
item.save()

// 데이터 조회
val items = Select().from(Item::class.java).execute<Item>()

결론

이제 코틀린으로 ActiveAndroid와의 데이터베이스를 연동하는 방법을 학습했습니다. ActiveAndroid를 사용하면 데이터베이스 작업을 더욱 편리하게 처리할 수 있습니다.

더 많은 정보를 원하시면 ActiveAndroid 공식 문서를 참고해보세요.