android Realm 데이터베이스 연동 하기(2) - 활용
지난 시간에 이어서 Realm DB에 대해 알아볼까 합니다.
오늘은 android에서 간단한 활용법을 알아보겠습니다.
모델클래스를 만들어 보도록 하겠습니다.
이해하기 쉬울 것입니다.
createObject 함수를 통해 Realm 모델 객체를 생성 하고 DB에 저장 됩니다.
copyToRealm을 이용 하면 됩니다.
조회하는 소스입니다.
타겟 테이블과 원하는 쿼리 형태를 셋팅후 findAll함수를 호출 하면 원하는 결과값을 얻을수 있습니다.
오늘은 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함수를 호출 하면 원하는 결과값을 얻을수 있습니다.
댓글
댓글 쓰기