Realm banco de dados (Java) usando a documentação (Introdução)

1.1 Os requisitos básicos

  • Android Estúdio 1.5.1+
  • JDK 7.0+
  • A versão mais recente do Android SDK
  • A última Realm versão 7.0: API Android 16+ (Android 4.1+).

Descrição: Realm não Java diferente do Android não suporta. Eclipse não apoiar o desenvolvimento, migrar para o Android Studio.

1.2 Instalação

configuração de encaixe Gradle.

Passo 1: No nível de projeto build.gradlecaminho-dependente adicionar ao arquivo.

Usando a versão de teste 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'
        }
    }
}

Usando a última versão estável:

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

Continuar a garantir que o projeto é vista "Projetos". Clique no canto superior esquerdo do Estúdio Android menu drop-down selecione "Projetos":

imagem

Na visão "Projetos", selecione o arquivo build.gradle nível de item:

imagem

Etapa 2: Na de nível de aplicação build.gradlereferências realm-androidficha.

apply plugin: 'realm-android'

Na visão "Projetos", encontrar o aplicativo-nível build.gradlede arquivo:

imagem

Após a conclusão destas duas configurações, dependências pode Gradle única sincronização. Se a modernização Realm de versões anteriores a v0.88, você também precisa limpar projeto Gradle (./gradlew limpo).

A seguir estão dois modificados build.gradleexemplos de arquivo:

Se você quiser usar Realm sincronizar todos os banco de dados?
Todos os documentos relacionados com a sincronização foi movido para o nosso documento plataforma .

Outro sistema de compilação

Ele não suporta o sistema de compilação Maven e Ant. Interessados ​​podem olhar para GitHub:

biblioteca de configuração Proguard fornecidos como parte do Reino. Isso significa que você não precisa para adicionar quaisquer regras específicas no reino da configuração ProGuard.

1.2.1 Código de exemplo

Ver mais no GitHub

Realm permite proteger, maneira de escrever rapidamente a camada de modelo da App duradoura e eficaz. Da seguinte forma:

// 创建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 base de dados Realm

Se precisar de ajuda usando o Realm, consulte StackOverflow resposta para o detalhe.

1.3.1 Realm Estúdio

Realm Estúdio é a nossa principal ferramenta de desenvolvimento que permite que você gerencie facilmente bases de dados Realm Realm e plataformas. Use Realm Studio, você pode abrir e editar Reinos locais e sincronizados, e gerenciar qualquer Realm Object Serverinstância. Ele suporta Mac, Windows e Linux.

imagem

1.3.2 Stetho Realm

Você pode também Stetho-Realm plugin de configuração para Stetho, este é o navegador Chrome do Android ferramentas de depuração Facebook criados.

Stetho-Realm Realm não é uma manutenção formal.

inicialização 1,4 reino

Você deve ser inicializado antes de poder utilizar Realm na aplicação, isso precisa ser feito uma vez.

Realm.init(context);

Você deve fornecer um objeto Context Android. Inicialização Realm melhor onCreate na MyApplication em:

public class MyApplication extends Application {

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

Se você criar seu próprio aplicativo, você tem que ser registrado para o arquivo AndroidManifest.xml:

<application
  android:name=".MyApplication"
  ...
/>
Publicado 59 artigos originais · Louvor obteve 88 · vista 190 000 +

Acho que você gosta

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