2019独角兽企业重金招聘Python工程师标准>>>
Realm一个面向安卓(亦面相iOS)的移动端数据库技术。和SQLite不同,它允许你在持久层直接和数据对象工作。在它之上是一个函数式风格的查询api,众多的努力让它比传统的SQLite 操作更快 。基于这些原因让我决定试试Realm 。[引用自](http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1203/3743.html)
就我当前使用来看,比自己写SQLite省太多代码了,而且文档写的也很棒,就我这阅读能力,一天就大致掌握了怎么使用Realm了。
接下来写一下Realm的简单使用吧。
初始化:
RealmConfiguration configuration = new RealmConfiguration.Builder(this).schemaVersion(0)// .deleteRealmIfMigrationNeeded() 加上这个方法的话,Realm数据库就会无视 Realm关联的属性发生变化,否则会抛出异常,为了防止抛出异常需要加上Migration.migration(new Migration()).name("user")//Realm名字,相当于数据库名字.build();Realm realm = Realm.getInstance(configuration);
加入数据:
//在进行任何的数据操作前,必须调用beginTransaction()和commitTransaction()保证闭合操作realm.beginTransaction();//copyToRealm方法可以直接添加Iterable类型的数据,也就是说可以直接 copyToRealm(ArrayList<E> list)realm.copyToRealm(user1);realm.copyToRealm(user2);realm.commitTransaction();
查询数据:
//获取数据RealmResults<User> realmResults = realm.where(User.class).findAll();//查询数据,realm.where(User.class).between()/beginWith/endWith等// realmResults.sort(); 此方法可以对结果进行排序
写了一个小Demo[Realm Demo](https://github.com/kaershushu/RealmAPP)
转载于:https://my.oschina.net/lengwei/blog/670318