Android Realm 데이터베이스 사용하기
2019. 10. 25. 13:50ㆍDevelopment/[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
반응형
'Development > [Android] 안드로이드' 카테고리의 다른 글
안드로이드 마켓 배포를 편하게 해보자 "google publisher api v3" (0) | 2021.01.24 |
---|---|
(20년09월 최신기준) androidx 프로젝트에 필요한 기본 dependencies - gradle (0) | 2020.09.16 |
RxJava1 에서 map 반복문 (0) | 2019.08.28 |
안드로이드 백그라운드 정책 - 버전별 차이 및 WorkManager (0) | 2019.08.23 |
[안드로이드] 에뮬레이터 에러별 대처방법 (7) | 2018.12.18 |