Ich Frage eine Reihe von Daten in der Haupttätigkeit meiner Anwendung, über eine ContentProvider
, was ich in einem ArrayList
speichern. Ich muss bestimmte Objekte zu anderen Aktivitäten oder Dienstleistungen übergeben, basierend auf Benutzereingaben, so dass alle Daten sammeln, was ich im neuen Kontext brauche, ist wirklich umständliche und schwere Arbeit. Ich will das nicht machen. Wie sollte ich diese Objekte zwischen den App-Komponenten speichern und weiterleiten?Wie soll ich meine Daten speichern, wenn auf sie aus verschiedenen Kontexten zugegriffen werden muss?
Antwort
Wenn die Daten klein sind, gehen Sie mit dem Intent-Mechanismus ... Wenn Sie eine große Menge von Daten haben, die nur für eine Sitzung in der App benötigt wird, gehen Sie mit einem Singelton ... Wenn Sie die Daten benötigen als persistent, mit sQLite-Datenbank gehen ... Sie auch eine Art von ORM überprüfen zu vermeiden, sQL-Code zu schreiben ...
Sie erstellen können statische Klasse zum speichern von Daten
zB
public class temp_data {
public static ArrayList arraylist;
public static String str="temp string is it";
}
Anruf in Mainactivity.class
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(MainActivity.this, ""+temp_data.str,Toast.LENGTH_SHORT).show();
}
es Toast "temp Zeichenfolge ist es"
Anmerkung: - - diese Daten, bis die App schließen sich nicht schließen, wenn App speichern kann dann Daten können verloren gehen.
- und Daten können in der App-Aktivitäten zugreifen, Service oder reciver rufen Sie einfach
classname.variablename
Beachten Sie, dass diese Methode Nullpointer-Ausnahmen verursachen kann, wenn der Gerätespeicher knapp wird, da der Garbage Collector möglicherweise Ihre statische Klasse und die darin enthaltenen Daten löscht, da sie möglicherweise nicht erkennt, dass die Daten noch benötigt werden. – Luke
dann können Sie Datenbank oder gemeinsame Voreinstellungen verwenden oder nicht funktionieren, mein Vorschlag, Datenbank zu verwenden. es kann Daten wie mysql oder sql leicht speichern und Daten mit Abfrage leicht erhalten. Probieren Sie https://developer.android.com/training/basics/data-storage/databases.html aus – vishal
- 1. Wie kann auf diese Daten zugegriffen werden?
- 2. Wie kann ich meine hierarchischen Daten speichern?
- 3. Wie kann ein Bereich in verschiedenen Word.run-Kontexten verwendet werden?
- 4. Winforms-Datenbindung: Ich muss wissen, wann meine Daten gespeichert werden
- 5. Verzeichnis von Objekten, auf die durch Referenz zugegriffen werden soll
- 6. Wo kann ich meine anwendungsspezifischen Daten speichern?
- 7. Muss ich meine Website auf verschiedenen Monitoren testen?
- 8. 'MBProgressHUD muss auf den Haupt-Thread zugegriffen werden.' - Swift 3
- 9. Beste Methode zum Speichern von EditText-Daten in einer Datei/einem Ort, auf den später zugegriffen werden soll?
- 10. Verknüpfen von Aktivitätsdiagramm mit Entitäten, auf die zugegriffen werden soll
- 11. dojox.grid.DataGrid: Wie kann auf Daten von einem Klickereignis zugegriffen werden?
- 12. Muss auf eine SQLiteDatabase in einer AsyncTask zugegriffen werden?
- 13. Speichern von Daten aus verschiedenen Fragment auf Knopfdruck
- 14. Wie kann auf Daten vom Geschwisterstatus zugegriffen werden?
- 15. Warum werden meine UITableViewCells grau, wenn ich auf sie klicke?
- 16. Wie soll ich meine Daten oder Aktionen in redux
- 17. Wie soll ich EEG-Daten in FHIR speichern, um meine Daten als elektronische Patientenakte (EHR) zu speichern?
- 18. Muss ich Daten aus der Datenbank bereinigen?
- 19. Wie soll ich meine Xcode-Projektdateien organisieren?
- 20. Code-Wiederverwendung in verschiedenen RSPEC-Kontexten
- 21. Sitecore: Wie auf gleichen Feldnamen in verschiedenen Abschnitten zugegriffen wird
- 22. Ich möchte meine Daten mit gemeinsamen Einstellungen speichern, wenn möglich
- 23. Kann auf DataFrame von verschiedenen SparkSessions zugegriffen werden?
- 24. SQLite-Synchronisation, wenn von Anwendungen auf verschiedenen Maschinen zugegriffen wird
- 25. Android - Sollte ich Aktivitäten oder Fragmente für meine Navigationsleiste verwenden, wenn ich Daten herunterladen muss
- 26. Wie soll ich diese Daten in einer Java-Enumeration speichern?
- 27. Wie kann auf Daten außerhalb von onResponse zugegriffen werden?
- 28. Wie soll ich meine GUID erstellen?
- 29. C++ Struktur zu definieren, wie Daten angeordnet werden muss und zugegriffen
- 30. Wie soll ich meine Rails App testen?
Angenommen, Ihre Daten klein ist (wie Ihre Arraylist Wahl macht es scheinen) ich würde eher mach es parzellierbar und wirf es in Intents und Broadcasts um. – Machinarius