Realm
Sharedpreference보다 더 복잡하게 데이터를 관리할 수 있는 관계형 데이터베이스이다
따로 설치를 해줘야 한다
공식 사이트를 참고하자
Project의 dependencies에 classpath를 추가해주고
classpath "io.realm:realm-gradle-plugin:10.8.1"
Module에 플러그인을 추가해 준다
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
플러그인 순서를 지켜줘야 한다
realm-android가 맨 아래로 가야한다
Realm 사용
Realm을 사용하려면 먼저 init해줘야한다
다음은 Realm을 초기화 할때 어떤 방식으로 초기화 할지 설정해줘야 한다
RealmConfiguration을 이용하면 된다
deleteRealmIfMigrationNeeded - 마이그레이션이 필요한 경우 Realm을 지워버리는 기능
데이터베이스에 변경이 생겨도 마이그레이션을 해주지 않고 그냥 Realm을 지워줄 것이다
allowWritesOnUiThread - 메인 쓰레드에서 Realm에 데이터를 저장하면 에러가 난다
메인 쓰레드에서도 Realm에 데이터를 저장할 수 있게 해주는 기능이다
Realm을 초기화 해주고
인스턴스를 만들어 주면 된다
데이터 저장하기
데이터를 저장할 틀을 먼저 만들어 주겠다
새로운 코틀린 파일에 데이터를 저장할 클래스를 만들었다
간단하게 name, age필드를 만들어 주었다
RealmObject을 상속 받고
open class로 선언해주어야 한다
버튼을 누르면 데이터를 저장하도록 하였다
트랜잭션을 실행하고
createObject로 테이블에 데이터 생성하였다
데이터 가져오기
where로 원하는 테이블에 가서 테이블의 첫번째 줄만 가져와 보았다
데이터는 이런식으로 나온다
데이터 지우기
where로 원하는 테이블에 가서 데이터를 가져오고 지우면 된다
모든 데이터를 지워보았다
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.