wake-up-neo.com

Android-Speicherliste <String>

Gibt es sowieso eine List-Variable im internen oder externen Speicher des Androids-Telefons? Ich weiß, ich kann primitive Daten speichern, bin mir aber nicht sicher.

Danke im Voraus.

10
Luke Taylor

Ja genau, du kannst nur Grundelemente speichern, also könntest du so etwas wie folgt:

List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");

StringBuilder csvList = new StringBuilder();
for(String s : list){
      csvList.append(s);
      csvList.append(",");
}

sharedPreferencesEditor.put("myList", csvList.toString());

Um dann erneut Ihre list zu erstellen, würden Sie:

String csvList = sharedPreferences.getString("myList");
String[] items = csvList.split(",");
List<String list = new ArrayList<String>();
for(int i=0; i < items.length; i++){
     list.add(items);     
}

Sie könnten dieses "Serialisieren" in Ihre eigene Klasse einkapseln, indem Sie eine Liste einpacken, um sie nett und aufgeräumt zu halten. Sie könnten auch die Konvertierung Ihrer list in JSON betrachten. 

23
Blundell

Wenn Sie einen Zeichenfolgenwert in Ihrem Programm speichern/abrufen/löschen möchten, ist List besser als Array. Hier unten zeige ich Ihnen, wie man es benutzt.

 // Declaring List Variable
 List<String> Mylist = new ArrayList<String>();

 // Adding item to List
 Mylist.add(list.size(), "MyStringValue");   //this will add string at the next index

 // Removing element form list
 Mylist.remove(list.size()-1);   //this will remove the top most element from List
0
Pir Fahim Shah