Hier ist eine Zusammenfassung der Implementierung des Basisbereichs. Dieses Mal werde ich anhand des Codes der Anwendung erklären, die ich gerade erst erstelle.
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.
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;
}
}
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();
}
① 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