Realm (Java) de base de datos utilizando la documentación (Introducción)

1.1 Requisitos básicos

  • Estudio Android 1.5.1+
  • JDK 7.0 o superior
  • La última versión del SDK de Android
  • La última versión 7.0 Realm: API de Android 16+ (Android 4.1+).

Descripción: El reino de Java que no sea Android no soporta. Eclipse no es compatible con el desarrollo, migrar a Android Studio.

1.2 Instalación

configuración del plugin Gradle.

Paso 1: En el nivel de los proyectos build.gradleruta complemento dependiente en el fichero.

El uso de la versión de prueba 7.0.0-beta:

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'
        }
    }
}

Con la última versión estable:

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

Seguir garantizando el proyecto es la vista "Proyectos". Haga clic en la izquierda de la esquina superior de Estudio Android menú desplegable, seleccione "Proyectos":

imagen

En la vista "Proyectos", seleccione el archivo build.gradle nivel de artículo:

imagen

Paso 2: En el nivel de aplicación build.gradlereferencias realm-androidenchufe.

apply plugin: 'realm-android'

En la vista "Proyectos", encontrar el nivel de aplicación build.gradlede archivos:

imagen

Después de la finalización de estas dos configuraciones, dependencias pueden Gradle única sincronización. Si la actualización del reino de las versiones anteriores a v0.88, también es necesario para limpiar proyecto Gradle (./gradlew limpia).

Los siguientes son dos modificados build.gradleejemplos de archivo:

Si desea sincronizar todo el reino uso de bases de datos?
Todos los documentos relacionados con la sincronización se ha trasladado a nuestro documento plataforma .

Otro sistema de construcción

No es compatible con el sistema de construcción Maven y Ant. Interesado puede mirar en GitHub:

biblioteca de configuración ProGuard proporcionado como parte del Reino. Esto significa que no es necesario añadir ninguna norma específica en el Reino de la configuración ProGuard.

1.2.1 Código de ejemplo

Ver más en GitHub

Reino le permite asegurar, duradera y efectiva manera de escribir rápidamente la capa del modelo de aplicación. De la siguiente manera:

// 创建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 Ver la base de datos Realm

Si necesita ayuda con el uso del Reino, consulte Stackoverflow respuesta para los detalles.

1.3.1 Estudio Realm

Estudio reino es nuestra herramienta de desarrollo de primer nivel que le permite administrar fácilmente las bases de datos y plataformas Realm Realm. Uso reino de estudio, se puede abrir y editar los reinos locales y sincronizados, y gestionar cualquier Realm Object Serverinstancia. Es compatible con Mac, Windows y Linux.

imagen

1.3.2 Stetho Realm

Puede también Stetho-Realm la configuración del complemento a Stetho, este es el navegador Chrome de Android herramientas de Facebook creado depuración.

Reino Stetho-Reino no es un mantenimiento formal.

inicialización 1,4 Realm

Debe ser inicializado antes de poder usar Reino en la aplicación, esto debe ser realizado una vez.

Realm.init(context);

Debe proporcionar un objeto Contexto Android. Inicialización Realm mejor onCreate en MyApplication en:

public class MyApplication extends Application {

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

Si crea su propia aplicación, usted tiene que estar registrada en el fichero AndroidManifest.xml:

<application
  android:name=".MyApplication"
  ...
/>
Publicado 59 artículos originales · ganado elogios 88 · vistas 190 000 +

Supongo que te gusta

Origin blog.csdn.net/geofferysun/article/details/104977104
Recomendado
Clasificación