Ich erstelle eine App und ich muss Hunderte von Strings speichern, die aufgerufen oder in if/else Funktionen verwendet werden können. Ich habe über SQLite nachgedacht, um eine Ladung von ihnen zu halten, aber ich bin nicht sehr Erfahrung damit, und ich bin nicht sehr sicher, wie ich Strings darin manuell speichern kann. Gibt es eine einfachere Möglichkeit, viele verschiedene Strings zu speichern, als ein großes Array oder eine Datenbank zu verwenden?Java/Android - Der effizienteste Weg, um viele Variablen zu speichern
Antwort
Sie müssen sich fragen, wie Sie diese Zeichenfolgen verwenden werden. Werden Sie sie alle einmal in den Speicher laden, wenn die App gestartet wird, oder ziehen Sie während des gesamten Lebenszyklus der Anwendung ständig einzelne Teile an? Wenn Ihre Antwort die letztere ist, dann wäre eine praktikable Option in Android SharedPreferences
, die ein Schlüssel/Wert-Paar-Format verwendet, um Daten auf dem Gerät zu speichern. Wenn Ihre Antwort die vorherige ist, dann wäre wahrscheinlich eine Datenbank (SQLite) besser.
See Google's documentation für weitere Informationen zu SharedPreferences.
Das ist interessant, ich habe noch nie von SharedPreferences gehört. Meine Situation ist die spätere und ich muss zufällige Strings während der Nutzung der App nicht alle auf einmal ziehen. –
@EoinCoogan Dann würde ich definitiv vorschlagen, einen Blick darauf zu werfen. Ich bin nicht sicher, wie die Strings, die Sie benötigen, verwandt sind, aber Sie können sie entweder einzeln mit 'putString (String key, String value) speichern 'oder wenn Sie verwandte Gruppen von Strings haben, die Sie zusammen speichern möchten, können Sie' putStringSet (String key, Set
Vielen Dank für Ihre Hilfe. –
- 1. Der effizienteste Weg, um große Base64-Strings zu speichern?
- 2. Was ist der effizienteste Weg, um Analytics Beacons zu speichern?
- 3. Der effizienteste Weg, um viele Bilder von URL Android
- 4. Der effizienteste Weg, URLs in Mysql zu speichern?
- 5. Der effizienteste Weg, Wegpunkte zu speichern und Vergleiche durchzuführen?
- 6. Der effizienteste Weg, um einen Benutzeravatar zu benennen?
- 7. Der effizienteste Weg, um dies PHP-Skript zu tun
- 8. Der effizienteste Weg, um diese Daten zu speichern und zu durchlaufen?
- 9. Der effizienteste Weg, IP-Adresse in MySQL zu speichern
- 10. Der effizienteste Weg, um verbundene Datensätze zu sammeln?
- 11. Der effizienteste Weg, um mehrere Drucker programmatisch zu installieren
- 12. Der effizienteste Weg, um Wert in XML-Datei zu suchen?
- 13. Der effizienteste Weg, um einen Vektor in Matlab zu wiederholen
- 14. Der effizienteste Weg, um java.lang.Long in primitive int zu konvertieren
- 15. Der effizienteste Weg, um eine Warteschlange zu überwachen
- 16. Der effizienteste Weg, um große Dateien in Chunks zu lesen
- 17. Der effizienteste Weg, um Inhaltslikes in SQL zu strukturieren
- 18. Was ist der effizienteste Weg, um leere ListBuffer zu erstellen?
- 19. Der effizienteste Weg, um eine mehrsprachige Website zu erstellen
- 20. Was ist der effizienteste Weg, um zwei Strings zu vergleichen?
- 21. Der effizienteste Weg, um einen Index in Postgres zu erstellen
- 22. Der effizienteste Weg, um einen ungültigen JSON zu beheben
- 23. Der effizienteste Weg, Listen zu bekommen?
- 24. Der effizienteste Weg, Xml zu analysieren
- 25. Der effizienteste Weg, um ein Wörterbuch in C# zu speichern/abzurufen?
- 26. Der effizienteste Weg, Eltern/Kind zu behandeln
- 27. Java: Datenstruktur, um viele Wörter zu speichern
- 28. Django: Effizienteste Viele-zu-Viele-Beziehung-Addition ohne Durchgangsmodell?
- 29. Was ist der effizienteste Weg, um viele JavaScript-Funktionen (mit PHP in ihnen) in eine PHP-Seite zu integrieren?
- 30. Der beste Weg, um viele boolesche Spalten in der Tabelle zu speichern
Datenbanken und Dateisysteme sind für große Datenspeicher gedacht. Wenn Sie große Daten im Speicher speichern, würde dies zu einem Leistungseinbruch führen. Da die Daten groß sind, können Sie einen Teil davon mit Hilfe von Array oder JSON im Speicher ablegen oder auf Basis Ihres Codeflusses ablegen und nach bestimmten Regeln wie LRU usw. aktualisieren. Dies ist nur ein Vorschlag Von meiner Seite aus. Keine konkrete Antwort. –
Danke für die Antwort. Ich werde wahrscheinlich eine Datenbank benutzen müssen, aber ich frage hauptsächlich, ob es andere Mittel gibt, dies zu erreichen. –