在我的 Android 应用程序中,我试图存储一个 Map 结构,例如:Map<String, Map<String, String>>
使用内部存储。我已经研究过 using SharedPreferences
,但如您所知,这仅在存储原始数据类型时有效。我尝试使用FileOutputStream
,但它只能让我以字节为单位写入......我是否需要以某种方式序列化 Hashmap 然后写入文件?
我试过阅读http://developer.android.com/guide/topics/data/data-storage.html#filesInternal但我似乎找不到我的解决方案。
这是我正在尝试做的一个例子:
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..
}
在 Android 应用程序内部存储这种类型的数据结构的最佳方法是什么?抱歉,如果这似乎是一个愚蠢的问题,我对 Android 很陌生。提前致谢。