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함수를 호출 하면 원하는 결과값을 얻을수 있습니다.




댓글

주간 인기글

카드뉴스 마케팅 팁

[ubuntu] 신규 계정에 sudo 권한 추가하기

[AWS] 사용중인 EC2 인스터스의 Type 변경하기

[MySQL] DB Time Zone 변경

[앱 디자인] 디자인 가이드 만들기 - 아이폰