[JAVA] Implementieren einer Datenbank mit Realm

Hier ist eine Zusammenfassung der Implementierung des Basisbereichs. Dieses Mal werde ich anhand des Codes der Anwendung erklären, die ich gerade erst erstelle.

⒈ Vorbereitungen

Fügen Sie zunächst den Klassenpfad zur Datei build.gradle hinzu.

uildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath "io.realm:realm-gradle-plugin:5.1.0"
    }
}

Dies ist der Teil, der durch "Klassenpfad" io.realm: Realm-Gradle-Plugin: 5.1.0 "" im obigen Code hinzugefügt wurde.

⒉ Objektdefinition

Erstellen Sie als Nächstes eine Unterklasse von RealmObject und definieren Sie das Objekt.

public class Recipe extends RealmObject {

    @PrimaryKey
    int id;
    @Required
    private String name;
    @Required
    private String cookingTime;

Die Verwendung des Primärschlüssels verlangsamt das Erstellen und Aktualisieren von Objekten etwas, beschleunigt jedoch die Suche. Sie können nicht mehrere Felder als Primärschlüssel angeben.

Bereiten Sie nach dem Definieren Getter und Setter vor.

public int getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setCookingTime(String cookingTime) {
        this.cookingTime = cookingTime;
    }

    public void setId(int id) {
        this.id = id;
    }


}

⒊ Modelldefinition

Definieren Sie als Nächstes das Modell.

Erstellen Sie neue und aktualisieren Sie die Änderungen wie folgt. Modelle mit einem Primärschlüssel können copyToRealmOrUpdate () verwenden, um Objekte zu erstellen oder zu aktualisieren.

public class RecipeModel {

    private Realm mRealm = Realm.getDefaultInstance();

    /**
     *Neues Rezept erstellen oder bearbeiten
     *
     * @param prescriptionId Rezept-ID
     * @param Rezeptname Rezeptname
     * @param cookTime Garzeit
     */
    public void copyOrUpdate(@Nullable Integer recipeId, String recipeName, String cookingTime) {
        if (recipeId == null) {
            recipeId = makeRecipeId();
        }
        Recipe recipe = new Recipe();
        recipe.setId(recipeId);
        recipe.setName(recipeName);
        recipe.setCookingTime(cookingTime);

        mRealm.beginTransaction();

        mRealm.copyToRealmOrUpdate(recipe);

        mRealm.commitTransaction();
    }

Erstellen Sie eine neue, wenn die ID null ist.

Löschen Sie es wie folgt.

    /**
     *Rezept löschen
     *
     * @param prescriptionId Rezept-ID
     */
    public void deleteRecipe(int recipeId) {
        mRealm.beginTransaction();

        //Rufen Sie aus der Liste der Rezepte das erste Rezept mit einer ID ab, die der Rezept-ID entspricht
        Recipe recipe = mRealm.where(Recipe.class).equalTo("id", recipeId).findFirst();
        if (recipe != null) {
            recipe.deleteFromRealm();
        }

        mRealm.commitTransaction();
    }

Zusammenfassung

① Fügen Sie der Datei build.gradle einen Klassenpfad hinzu ② Objektdefinition ③ Modelldefinition

Realm macht es einfach, eine Datenbank in diesen drei Schritten zu implementieren. Bitte versuchen Sie es auf jeden Fall.

Recommended Posts

Implementieren einer Datenbank mit Realm
Implementierung der Validierung mit regulären Ausdrücken
Beispielcode für die Singleton-Implementierung mit enum
Implementierung der Benutzerauthentifizierungsfunktion mit devise (2)
Implementierung der Benutzerauthentifizierungsfunktion mit devise (1)
Implementierung von Registerkarten mit TabLayout und ViewPager
Stapelimplementierung in der RubyOnRails-Umgebung mit Digdag
Versuchen Sie es mit der REST-API von JobScheduler - Java RestClient-Implementierung -