Android Realm 데이터베이스 사용하기

2019. 10. 25. 13:50Development/[Android] 안드로이드

728x90

1. 안드로이드 스튜디오 프로젝트에서 프로젝트 레벨의 build.gradle 에 realm 레파지토리 추가

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:6.0.0"
    }
}

 

2. 안드로이드 스튜디오 프로젝트에서 앱 레벨의 build.gradle 에 plugin 추가

apply plugin: 'realm-android'

 

3. realm 에서 사용할 오브젝트 클래스 (실제로 DB에 들어갈 기본 틀) 만들어 놓기

public class Dog extends RealmObject {
    private String name;
    private int age;

    // Getter, Setter 도 함께 만들어야 합니다.
}

 

4. 실제 데이터를 생성하여 DB에 insert 할 클래스 만들기

Dog dog = new Dog();
dog.setName("Rex"); //위의 과정에서 만든 setter
dog.setAge(1);      //위의 과정에서 만든 setter

 

5. reaml initialize (앱 구동간 1회만 하면 됨) + config

//Application class에서 하면 1회만 되므로 Application 클래스에서 하는 것이 좋다..
Realm.init(getApplicationContext());

RealmConfiguration config 
	= new RealmConfiguration.Builder().name("appdb.realm").build();

Realm.setDefaultConfiguration(config);

 

6. RecyclerView 또는 실제로 DB를 불러와서 사용할 액티비티 등에서 다음과 같이 동작한다.

// 현재 쓰레드에서 사용할 Realm 인스턴스를 가져온다 
Realm realm = Realm.getDefaultInstance(); 



//데이터 넣기(insert)
realm.executeTransaction(new Realm.Transaction() {
                            @Override
                            public void execute(Realm realm) {

                                Dog dog = realm.createObject(Dog.class);
								dog.setName("Rex");
								dog.setAge(1);

                            }
                        }
);

//모든 데이터 불러오기(select) - 위에서 만든 Dog 클래스 형태를 기준으로 모든 데이터(findAll)를 불러온다 
final RealmResults<Dog> data = realm.where(Dog.class).findAll();
728x90