Realm
이번 포스팅은 Android Kotlin Realm Examle 입니다.
간단하게 데이터를 저장하고, 해당 데이터에 쿼리를 던져 데이터를 추출하는 Realm 예제 소스 입니다.
Realm 공식 홈페이지 https://realm.io/kr/ 참고하며 학습한 내용을 정리해보았습니다.
1. Realm이란?
Realm이란 Realm 데이터베이스 컨테이너의 인스턴스입니다.
Realm은 로컬, 동기화, 혹은 인 메모리 방식으로 사용할 수 있습니다.
2. gradle 설정
첫 번째, 프로젝트 레벨의 build.gradle에 classpath 추가
classpath "io.realm:realm-gradle-plugin:3.5.0"
두 번째, 앱 레벨의 build.gradle에 플러그인 추가
apply plugin: 'realm-android'
apply plugin: 'kotlin-kapt'
4. 중요 소스
Realm.init(this)
realm = Realm.getDefaultInstance()
Realm 객체를 초기화하고, 기본 인스턴스를 얻습니다.
realm.executeTransaction { realm -> realm.deleteAll() }
executeTransaction을 람다식과 함께 사용하여 간단한 코드로 모든 realm 객체를 삭제할 수 있습니다.
realm.close()
realm 꼭 닫는 것을 잊지마세요.
realm.executeTransaction { realm ->
//Add a Person
val person = realm.createObject(Person::class.java,0)
person.name = "Seonoh"
person.age = 27
}
위의 코드처럼 간단하게 person 객체를 만들 수 있습니다.
Realm 공식홈페이지에서는 <Person>과 같이 사용하는데, 이 소스가 되지않아 위와 같은 소스로 수정했습니다.
그 이유는 Kclass가 아니라 Java class를 원하고 있기 때문에 Person::class.java 로 작성했습니다.
( 뒤에 0은 제가 프라이머리 키로 설정한 부분입니다. )
val person = realm.where(Person::class.java).findFirst()!!
첫 번째 person인 name = "Seonoh" age = 27 찾게됩니다.
val results = realm.where(Person::class.java).equalTo("age",27).findAll()
"age"가 27인 person 객체 수를 results에 저장할 수 있습니다.
Kotlin 전체 예제 소스는 Realm 공식 홈페이지 예제를 참고하시면 됩니다.
'Android > Realm' 카테고리의 다른 글
realm 레코드 순서 (0) | 2019.01.17 |
---|