[JAVA] Speichern Sie ArrayList mit GSON unter Android

Wenn es beim Speichern einer ArrayList unter Android so einfach ist wie die Verwendung von SQLite, Es ist praktisch, es in JSON zu konvertieren und in den Einstellungen zu speichern.

Ich denke auch, dass es einfacher sein wird, GSON (Google Library) bei der Konvertierung in JSON zu verwenden. https://github.com/google/gson

Konvertieren Sie dieses Mal den Typ "ArrayList " und speichern Sie ihn.

Einführung von GSON

Einführung der Gson-Bibliothek mit Gradle in Android Studio.

dependencies{
      ...
      ...
      compile 'com.google.code.gson:gson:2.7' //Kann ein bisschen alt sein
}

Lesen

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());

Wenn Sie die Verarbeitung des nicht gespeicherten Status nach Präferenz verzweigen möchten, sieht dies folgendermaßen aus

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());
}

Schreiben

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

Recommended Posts

Speichern Sie ArrayList mit GSON unter Android
Versuchen Sie, den Dienst auf Android Oreo zu verwenden
Sobel-Filter mit OpenCV unter Android (Java)
Versuchen Sie, Firebase Cloud-Funktionen unter Android (Java) zu verwenden.
Übersetzen Sie mit der Microsoft Translator Text API unter Android ~ Implementierung ~
Versuchen Sie die Kommunikation mit gRPC auf einem Android + Java-Server
Ich habe versucht, Gson zu benutzen
Verwenden Sie JDBC unter Linux
Versuchen Sie die Bildklassifizierung mit TensorFlow Lite unter Android (JAVA).
Passen Sie die Listenansicht auf Android an
Mehrteilige Übertragungsbibliothek auf Android
[Schienen] Speichern Sie Bilder mit Carrierwave
Verwenden Sie die serielle Kommunikation unter Android
ROS App Entwicklung auf Android
Verwenden Sie nativen Code unter Android
Blasensortierung mit ArrayList (JAVA)
[Android] Konvertieren Sie Map in JSON mit GSON mit Kotlin und Java