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
Einführung der Gson-Bibliothek mit Gradle in Android Studio.
dependencies{
...
...
compile 'com.google.code.gson:gson:2.7' //Kann ein bisschen alt sein
}
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());
}
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
Gson gson = new Gson();
pref.edit().putString(SAVE_KEY, gson.toJson(arrayList)).apply();
Recommended Posts