android Realm 데이터베이스 연동 하기(2) - 활용

지난 시간에 이어서 Realm DB에 대해 알아볼까 합니다.

오늘은 android에서 간단한 활용법을 알아보겠습니다.

모델클래스를 만들어 보도록 하겠습니다.

public class User extends RealmObject {

    private String          name;
    private int             age;

    public String getName() { return name; }
    public void   setName(String name) { this.name = name; }
    public int    getAge() { return age; }
    public void   setAge(int age) { this.age = age; }
}
모델클래스의 형태는 기존의 모델들과 크게 다르지는 않고  RealmObject를 상속 받았는 것이 특징 입니다. 모델클래스로 객체를 생성해서 저장하면 되기때문에 모델클래스 하나가 테이블 하나라고 생각하면
이해하기 쉬울 것입니다.

Realm realm = Realm.getDefaultInstance();

realm.beginTransaction();

User user = realm.createObject(User.class); 
user.setName("John");
user.setAge("30");

realm.commitTransaction();
Insert 하는 부분입니다.
createObject 함수를 통해 Realm 모델 객체를 생성 하고 DB에 저장 됩니다.

Realm realm = Realm.getDefaultInstance();

User user = new User();
user.setName("John");
user.setAge("30");

realm.beginTransaction();

User realmUser = realm.copyToRealm(user);

realm.commitTransaction();
미리생성된 객체를 이용하여 값을 변경하여 저장 하려 한담ㄴ
copyToRealm을 이용 하면 됩니다.


// Build the query looking at all users:
RealmQuery<User> query = realm.where(User.class);

query.equalTo("name", "John");
query.or().equalTo("name", "Peter");

RealmResults<User> result1 = query.findAll();

RealmResults<User> result2 = realm.where(User.class)
                                  .equalTo("name", "John")
                                  .or()
                                  .equalTo("name", "Peter")
                                  .findAll();

조회하는 소스입니다.
타겟 테이블과 원하는 쿼리 형태를 셋팅후 findAll함수를 호출 하면 원하는 결과값을 얻을수 있습니다.




댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기