Dienstag, Dezember 10, 2019

Android Liste speichern<String>

Ist es trotzdem kann ich speichern Sie eine Liste Variablen, um die Androiden-Handy internen oder externen Speicher? Ich weiß, ich kann speichern primitive Daten, aber nicht sicher über diese ein.

Vielen Dank im Voraus.

InformationsquelleAutor Luke Taylor | 2012-06-25

2 Kommentare

  1. 23

    Ja genau, Sie können nur speichern, primitive, so dass Sie könnte so etwas wie dieses:

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

    Dann erstellen Sie Ihre list wieder 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);     
    }

    Könnten Sie Kapseln diese „serialisieren“ in Ihrer eigenen Klasse, die Verpackung einer Liste zu halten es schön und ordentlich. Auch kann man sich bei der Umwandlung Ihrer list zu JSON.

    • Stellen Sie sicher, dass OP zahlt mehr Aufmerksamkeit, wenn seine Liste Elemente enthält Kommas.. ich bevorzuge die JSON-Methode die beste. Es ist so einfach.
    • Gson ist die einfachste: gson.toJson(OBJECT) ist immer das, was ich Tue.
    • denken Sie vielleicht hinzufügen möchten [ich] in der Zeile der Liste.add(Elemente), so ist es Liste.hinzufügen(items[i])
  2. -1

    Wenn Sie möchten, speichern/abrufen/löschen Sie einige string-Wert in Ihrem Programm, dann List ist besser als Array. Hier unten werde ich Euch zeigen, 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
    • Er will, um es zu speichern auf dem Gerät nicht nur bei der runtime-Anwendung

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...