★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-mmtfqzyn-bn.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
注意: Realm不支持Android以外的Java。咱們再也不支持Eclipse做爲IDE; 請遷移到Android Studio。java
將Realm安裝爲Gradle插件。react
步驟1:將類路徑依賴項添加到項目級build.gradle
文件。linux
buildscript { repositories { jcenter() } dependencies { classpath "io.realm:realm-gradle-plugin:5.12.0" } }
在build.gradle
此處查找項目級別文件:android
第2步:將realm-android
插件應用到應用程序級build.gradle
文件的頂部。git
apply plugin: 'realm-android'
在build.gradle
此處查找應用程序級別文件:github
完成這兩項更改後,只需刷新gradle依賴項便可。若是您從早期版本的Realm升級v0.88
,則可能還須要清理gradle項目(./gradlew clean
)。數據庫
build.gradle
在此處查找兩個已修改文件的示例:npm
您是否但願使用Realm Mobile Platform同步全部Realm數據庫?全部與同步相關的文檔已移至咱們的平臺文檔中編程
其餘構建系統
不支持Maven和Ant構建系統。咱們正在跟蹤在GitHub上支持它們的興趣:
ProGuard配置做爲Realm庫的一部分提供。這意味着您無需向ProGuard配置添加任何Realm特定規則。
Realm Java容許您以安全,持久和快速的方式有效地編寫應用程序的模型層。這是它的樣子:
// Define your model class by extending RealmObject public class Dog extends RealmObject { private String name; private int age; // ... Generated getters and setters ... } public class Person extends RealmObject { @PrimaryKey private long id; private String name; private RealmList<Dog> dogs; // Declare one-to-many relationships // ... Generated getters and setters ... } // Use them like regular java objects Dog dog = new Dog(); dog.setName("Rex"); dog.setAge(1); // Initialize Realm (just once per application) Realm.init(context); // Get a Realm instance for this thread Realm realm = Realm.getDefaultInstance(); // Query Realm for all dogs younger than 2 years old final RealmResults<Dog> puppies = realm.where(Dog.class).lessThan("age", 2).findAll(); puppies.size(); // => 0 because no dogs have been added to the Realm yet // Persist your data in a transaction realm.beginTransaction(); final Dog managedDog = realm.copyToRealm(dog); // Persist unmanaged objects Person person = realm.createObject(Person.class); // Create managed objects directly person.getDogs().add(managedDog); realm.commitTransaction(); // Listeners will be notified when data changes puppies.addChangeListener(new OrderedRealmCollectionChangeListener<RealmResults<Dog>>() { @Override public void onChange(RealmResults<Dog> results, OrderedCollectionChangeSet changeSet) { // Query results are updated in real time with fine grained notifications. changeSet.getInsertions(); // => [0] is added. } }); // Asynchronously update objects on a background thread realm.executeTransactionAsync(new Realm.Transaction() { @Override public void execute(Realm bgRealm) { Dog dog = bgRealm.where(Dog.class).equalTo("age", 1).findFirst(); dog.setAge(3); } }, new Realm.Transaction.OnSuccess() { @Override public void onSuccess() { // Original queries and Realm objects are automatically updated. puppies.size(); // => 0 because there are no more puppies younger than 2 years old managedDog