realm

21
Realm The Finest Artist

Transcript of realm

RealmThe Finest Artist

Realm

Real MReal Mobile

Real Mobile Database뤰

렐름

렐음

Realm = Kingdom

Realm [Rϵlm]

렘 [레엠]

Realm = Mobile Database

RealmReplacement for SQLite & Core Data

Android/Android Wear/iOS/OS X/Watch OS Java/Kotlin/Objective-C/Swift

Open Source Easy to Use Super Fast

How Fast?

Gson vs Realm

This test is to compare the speed of Gson and Realm with an extremely simple object model. The overall result of the test shows that Realm performs a little faster than Gson. However, it could show different results in other test conditions. Refer to the appendix for further information.

Object Creation

Gson.toJson

Gson.fromJson

Realm.createObject

copyToRealm

copyToRealmOrUpdate

Milisecond

0 450 900 1350 1800

Gson

Realm

)

)

Modelpublic class User extends RealmObject {

@PrimaryKey private String name; private int age;

@Ignore private int sessionId;

// + Standard getters & setters generated by your IDE }

Relationpublic class Email extends RealmObject { private String address; private boolean active; }

// Many to One public class Contact extends RealmObject { private Email email; }

// Many to Many public class Contact extends RealmObject { private RealmList<Email> emails; }

Writerealm.beginTransaction(); User user = realm.createObject(User.class); // Create a new object user.setName("John"); user.setEmail("[email protected]"); realm.commitTransaction();

User user = new User("John"); user.setEmail("[email protected]"); realm.beginTransaction(); realm.copyToRealm(user); // Copy the object to Realm. realm.commitTransaction();

WriteUser user = realm.createObject(User.class);

realm.copyToRealm(user);

realm.copyToRealmOrUpdate(user);

Query// Fluent interface RealmResults<User> result = realm.where(User.class) .sort("age"); .beginGroup() .equalTo("name", "John") .or() .equalTo("name", "Peter") .endGroup() .findAll();

for (User user : result) { // do something... }

SupportEncryption (AES-256) Multiple Databases In-Memory Realm

Listeners/Notifications Migration

Realm Browser (Mac OS)

UsersPinterest Groupon Cymera

RIDIBOOKS iamschool

Been Together

More

Homepage: http://realm.io/

Facebook: http://fb.com/groups/realmkr

Email: [email protected]

Thank You :)

AppendixTest Device: Galaxy S3 Test Model public class Contact { public String address; public String number; public boolean active; }

10000 times iteration per each test. 5 times test per each method Test Code: https://github.com/Test-Codes/Realm-Java-Benchmark