Voici un résumé de la mise en œuvre du royaume de base. Cette fois, je vais vous expliquer en utilisant le code de l'application que je suis en train de créer.
Tout d'abord, ajoutez le classpath au fichier build.gradle.
uildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "io.realm:realm-gradle-plugin:5.1.0"
}
}
C'est la partie ajoutée par "class path" io.realm: realm-gradle-plugin: 5.1.0 "" dans le code ci-dessus.
Ensuite, créez une sous-classe de RealmObject et définissez l'objet.
public class Recipe extends RealmObject {
@PrimaryKey
int id;
@Required
private String name;
@Required
private String cookingTime;
L'utilisation de la clé primaire ralentit un peu la création et la mise à jour des objets, mais accélère la recherche. Vous ne pouvez pas spécifier plusieurs champs comme clé primaire.
Après avoir défini, préparez le getter et le setter.
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;
}
}
Ensuite, définissez le modèle.
Créez de nouvelles modifications et mettez-les à jour comme suit. Les modèles avec une clé primaire peuvent utiliser copyToRealmOrUpdate () pour créer ou mettre à jour des objets.
public class RecipeModel {
private Realm mRealm = Realm.getDefaultInstance();
/**
*Créer une nouvelle recette ou mettre à jour modifier
*
* @param recetteId ID de recette
* @param recetteName Nom de la recette
* @param cookingTime Temps de cuisson
*/
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();
}
Créez-en un nouveau si l'ID est nul.
Supprimez-le comme suit.
/**
*Supprimer la recette
*
* @param recetteId ID de recette
*/
public void deleteRecipe(int recipeId) {
mRealm.beginTransaction();
//Dans la liste des recettes, récupérez la première recette avec un identifiant qui correspond à recetteId
Recipe recipe = mRealm.where(Recipe.class).equalTo("id", recipeId).findFirst();
if (recipe != null) {
recipe.deleteFromRealm();
}
mRealm.commitTransaction();
}
① Ajouter classpath au fichier build.gradle ② Définition d'objet ③ Définition du modèle
Realm facilite la mise en œuvre d'une base de données au cours de ces trois étapes. Veuillez essayer par tous les moyens essayez.
Recommended Posts