In meiner Android-Anwendung versuche ich eine Map-Struktur wie: Map<String, Map<String, String>>
mit internen Speicher zu speichern. Ich habe mit SharedPreferences
untersucht, aber wie Sie wissen, funktioniert dies nur beim Speichern von primitiven Datentypen. Ich habe versucht, zu verwenden, aber es lässt mich nur in Bytes schreiben ... Würde ich irgendwie die Hashmap serialisieren und dann in Datei schreiben müssen?Wie kann ich eine Datenstruktur wie eine Hashmap intern in Android speichern?
Ich habe versucht, durch http://developer.android.com/guide/topics/data/data-storage.html#filesInternal lesen, aber ich kann nicht scheinen, meine Lösung zu finden.
Hier ist ein Beispiel dafür, was ich zu tun habe versucht:
private void storeEventParametersInternal(Context context, String eventId, Map<String, String> eventDetails){
Map<String,Map<String,String>> eventStorage = new HashMap<String,Map<String,String>>();
Map<String, String> eventData = new HashMap<String, String>();
String REQUEST_ID_KEY = randomString(16);
. //eventData.put...
. //eventData.put...
eventStorage.put(REQUEST_ID_KEY, eventData);
FileOutputStream fos = context.openFileOutput(EVENT_FILENAME, Context.MODE_PRIVATE);
fos.write(eventStorage) //This is wrong but I need to write to file for later access..
}
Was ist der beste Ansatz, um diese Art einer Datenstruktur intern in einem Android-App zum Speichern? Sorry, wenn das wie eine dumme Frage scheint, bin ich sehr neu in Android. Danke im Voraus.