라이브러리 적용
- gradle(maven) repository 및 jar 로 제공되어 편리하다.
- proguard rule 설정을 명시해뒀다.
RealmObject
- Object (RealmObject 를 extends 한 Object) 를 통해 DB에 CRUD가 다 되서 편하다. (물론 Realm instance 를 통해야한다.)
- RealmObject 가 serialize 는 serialize 되지 않는다.
- RealmObject 를 단순한 Model 처럼 사용할 수 없는건 좀 귀찮은듯. (데이터를 가져온 후 DB에 업데이트를 안하면서 살짝살짝 데이터만 교체해서 사용하고 싶은데 그게 안된다. transaction 을 실행해주지 않으면 바로 에러.)
- RealmObject 내에서 getter / setter 를 제외한 다른 method 를 허용하지 않는다.
Data create & update, primary key
- JSON object, JSON array, JSON string 을 통해서도 Create & Update 가 가능하다. 데이터를 통째로 넣거나 업데이트 할때는 편리할듯.
- primary key 를 여러 컬럼을 묶어서 지정할 수 없다.(이건 좀 별로인듯)
- primary key 가 String 이면 자동으로 Indexing 해준다.
기타 등등...
DAO로 쓰라고 만들어진 느낌. DAO로만 사용한다는 느낌이면 SQLite와 비교해 디비 생성할 필요도 없고, ContentValues 등을 쓸 필요가 없고, SQLite 관련한 헬퍼등도 쓸 필요가 없어서 편한듯하고(Realm 과 RealmObject 두개로 가능하다.)
데이터를 가져와서 한참동안 굴리다가 나중에 업데이트 하고 싶을때는 Model을 따로 만들어서 쓰면 되지만 귀찮기는 할것 같다.
https://realm.io/kr/ 는 어떤가요?
https://realm.io/kr/ 는 어떤가요? :-)
Lum7671's Weblog
저도 antz님 의견에 한표를
realm 써보니까, 생각보다 사용법도 어렵지않고 RealmObject 만 만들면 DAO로 사용가능하니 편하더라고요.
예전에 써보고 적어둔게..
라이브러리 적용
- gradle(maven) repository 및 jar 로 제공되어 편리하다.
- proguard rule 설정을 명시해뒀다.
RealmObject
- Object (RealmObject 를 extends 한 Object) 를 통해 DB에 CRUD가 다 되서 편하다. (물론 Realm instance 를 통해야한다.)
- RealmObject 가 serialize 는 serialize 되지 않는다.
- RealmObject 를 단순한 Model 처럼 사용할 수 없는건 좀 귀찮은듯. (데이터를 가져온 후 DB에 업데이트를 안하면서 살짝살짝 데이터만 교체해서 사용하고 싶은데 그게 안된다. transaction 을 실행해주지 않으면 바로 에러.)
- RealmObject 내에서 getter / setter 를 제외한 다른 method 를 허용하지 않는다.
Data create & update, primary key
- JSON object, JSON array, JSON string 을 통해서도 Create & Update 가 가능하다. 데이터를 통째로 넣거나 업데이트 할때는 편리할듯.
- primary key 를 여러 컬럼을 묶어서 지정할 수 없다.(이건 좀 별로인듯)
- primary key 가 String 이면 자동으로 Indexing 해준다.
기타 등등...
DAO로 쓰라고 만들어진 느낌. DAO로만 사용한다는 느낌이면 SQLite와 비교해 디비 생성할 필요도 없고, ContentValues 등을 쓸 필요가 없고, SQLite 관련한 헬퍼등도 쓸 필요가 없어서 편한듯하고(Realm 과 RealmObject 두개로 가능하다.)
데이터를 가져와서 한참동안 굴리다가 나중에 업데이트 하고 싶을때는 Model을 따로 만들어서 쓰면 되지만 귀찮기는 할것 같다.
댓글 달기