[JAVA] Enregistrer ArrayList à l'aide de GSON sur Android

Lors de l'enregistrement d'une ArrayList sur Android, si c'est aussi simple que d'utiliser SQLite, Il est pratique de le convertir en JSON et de l'enregistrer dans Preference.

De plus, je pense qu'il sera plus facile d'utiliser GSON (bibliothèque Google) lors de la conversion en JSON. https://github.com/google/gson

Cette fois, convertissez le type ʻArrayList `et enregistrez-le.

Introduction de GSON

Présentation de la bibliothèque gson avec gradle dans Android Studio.

dependencies{
      ...
      ...
      compile 'com.google.code.gson:gson:2.7' //Peut-être un peu vieux
}

Lis

private ArrayList<String> arrayList;
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
Gson gson = new Gson();
arrayList = gson.fromJson(pref.getString(SAVE_KEY, ""), new TypeToken<ArrayList<String>>(){}.getType());

Si vous souhaitez brancher le traitement de l'état non enregistré à la préférence, cela ressemble à ceci

private ArrayList<String> arrayList;
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
Gson gson = new Gson();
String json = pref.getString(SAVE_KEY, "");
if(json.equals("[]"))
{
    arrayList = new ArrayList<>();
}
else
{
    arrayList = gson.fromJson(json, new TypeToken<ArrayList<String>>(){}.getType());
}

l'écriture

SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
Gson gson = new Gson();
pref.edit().putString(SAVE_KEY, gson.toJson(arrayList)).apply();

Recommended Posts

Enregistrer ArrayList à l'aide de GSON sur Android
Essayez d'utiliser le service sur Android Oreo
Filtre Sobel utilisant OpenCV sur Android (Java)
Essayez d'utiliser Firebase Cloud Functions sur Android (Java)
Traduire à l'aide de l'API Microsoft Translator Text sur Android ~ Implémentation ~
Essayez la communication en utilisant gRPC sur un serveur Android + Java
J'ai essayé d'utiliser Gson
Utiliser JDBC sous Linux
Essayez la classification d'image à l'aide de TensorFlow Lite sur Android (JAVA)
Personnaliser la vue de liste sur Android
Bibliothèque de transmission en plusieurs parties sur Android
[Rails] Enregistrez des images à l'aide de carrierwave
Utiliser la communication série sur Android
Développement d'applications ROS sur Android
Utiliser le code natif sur Android
Tri des bulles à l'aide de ArrayList (JAVA)
[Android] Convertissez Map en JSON à l'aide de GSON avec Kotlin et Java