ドキュメントを使用して、レルム(Java)のデータベース(はじめに)

1.1基本的な要件

  • Androidのメーカー1.5.1+
  • JDK 7.0以降
  • AndroidのSDKの最新バージョン
  • 最新レルム7.0バージョン:AndroidのAPI 16+(アンドロイド4.1以降)。

説明:アンドロイド以外のJavaがサポートされていないレルム。Eclipseは、開発をサポートするAndroid Studioに移行されません。

1.2インストール

Gradleのプラグインの設定。

ステップ1:プロジェクトレベルでbuild.gradleファイルに追加するに依存するパス。

テストバージョン7.0.0ベータを使用します:

buildscript {
    repositories {
        jcenter()
        google()
        maven {
            url 'http://oss.jfrog.org/artifactory/oss-snapshot-local'
        }
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:7.0.0-beta-SNAPSHOT"
    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven {
            url 'http://oss.jfrog.org/artifactory/oss-snapshot-local'
        }
    }
}

最新の安定版を使用します:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:6.0.2"
    }
}

プロジェクトは、「プロジェクト」ビューであることを確認し続けています。「プロジェクト」を選択メーカーのAndroidドロップダウンメニューの左上隅をクリックしてください:

画像

「プロジェクト」ビューでは、アイテム・レベルのbuild.gradleファイルを選択します。

画像

ステップ2:アプリケーション・レベルでbuild.gradle参照するrealm-androidプラグ。

apply plugin: 'realm-android'

「プロジェクト」ビューでは、アプリケーションレベルの発見build.gradleファイルを:

画像

これら2つの構成の完了後に、依存関係が唯一の同期のGradleをすることができます。v0.88より前のバージョンからレルムアップグレードする場合は、Gradleのプロジェクト(./gradlewクリーン)をクリーンアップする必要があります。

以下は、2つの修飾されbuild.gradleたファイルの例:

あなたが使用レルムにするかどうか、すべてのデータベースを同期しますか?
同期に関連するすべての文書は、当社のプラットフォームのドキュメントに移動されました

他のビルドシステム

これは、MavenとAntビルド・システムをサポートしていません。GitHubのを見ることができます興味があるのは:

レルムの一部として提供さProGuardの設定ライブラリ。あなたはProGuardの設定のレルム内の任意の特定のルールを追加する必要はありません。この手段。

1.2.1サンプルコード

GitHubの上でもっと見ます

レルムは、あなたが、すぐにアプリケーションのモデル層を書き込むための持続的かつ効果的な方法を確保することができます。次のとおりです。

// 创建model类并继承RealmObject
public class Dog extends RealmObject {
    private String name;
    private int age;

    // ... getters()和setters()方法 ...
}

public class Person extends RealmObject {
    @PrimaryKey
    private long id;
    private String name;
    private RealmList<Dog> dogs; // 声明一对多关系

    // ... getters()和setters()方法 ...
}

// 像普通的Java对象一样使用它们
Dog dog = new Dog();
dog.setName("Rex");
dog.setAge(1);

// 初始化Realm(每个App仅做一次)
Realm.init(context);

// 获取此线程的Realm实例对象
Realm realm = Realm.getDefaultInstance();

// 查询所有2岁以下的狗
final RealmResults<Dog> puppies = realm.where(Dog.class).lessThan("age", 2).findAll();
puppies.size(); // => 0,因为尚未将任何狗添加到Realm

// 在事务中保留您的数据
realm.beginTransaction();
final Dog managedDog = realm.copyToRealm(dog); // 取得非托管对象
Person person = realm.createObject(Person.class); // 直接创建托管对象
person.getDogs().add(managedDog);
realm.commitTransaction();

// 数据更改时将通知监听器
puppies.addChangeListener(new OrderedRealmCollectionChangeListener<RealmResults<Dog>>() {

    @Override
    public void onChange(RealmResults<Dog> results, OrderedCollectionChangeSet changeSet) {
        // 查询结果通过细粒度的通知实时更新。
        changeSet.getInsertions(); // => [0] is added.
    }
});

// 异步更新后台线程上的对象
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() {
        // 原始查询和Realm对象将自动更新。
        puppies.size(); // => 0,因为没有幼犬年龄小于2岁
        managedDog.getAge();   // => 3,狗的年龄被更新
    }
});

1.3ビューレルムデータベース

あなたがレルムを使用してヘルプが必要な場合は、参照してくださいStackOverflowのの細部のための答えを。

1.3.1レルムメーカー

レルムStudioは、あなたが簡単にレルムrealmデータベースおよびプラットフォームを管理することができます私たちの最高の開発ツールです。使用レルムStudioは、あなたが開いて編集するローカルと同期レルム、および任意の管理することができRealm Object Serverインスタンスを。これは、Mac、WindowsとLinuxをサポートしています。

画像

1.3.2 Stethoレルム

あなたもできるStethoレルム Stethoに設定をプラグインには、これはFacebookが作成したツールをデバッグするAndroidのChromeブラウザです。

Stetho・レルムrealmは、正式なメンテナンスではありません。

1.4レルムの初期化

あなたは、アプリケーションでレルムを使用するには、事前に初期化されなければならない、これは一度実行する必要があります。

Realm.init(context);

あなたは、AndroidのContextオブジェクトを提供する必要があります。:でMyApplicationを上の初期レルム最高のonCreate

public class MyApplication extends Application {

  @Override
  public void onCreate() {
    super.onCreate();
    Realm.init(this);
  }
}

独自のアプリケーションを作成する場合は、AndroidManifest.xmlファイルに登録する必要があります。

<application
  android:name=".MyApplication"
  ...
/>
公開された59元の記事 ウォン称賛88 ビュー190 000 +

おすすめ

転載: blog.csdn.net/geofferysun/article/details/104977104