我打算使用writeObject将我的数组列表写入内部存储。但是,我不知道如何保存/恢复其中的多个。就像SharedPreferences一样,它可以生成键/值对,但是如果有三个ArrayLists,我如何保存它们,然后在需要时恢复它们?
发布于 2011-06-12 13:27:48
ObjectOutputStream在其构造函数中使用java.io.OutputStream作为参数。因为FileOutputStream是它的派生类,所以您可以直接使用它。类似于:
String FILENAME = "myfile";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.close();或者,如果您想使用SharedPreferences,您只需要一种方法来序列化整个ArrayList (也许使用ObjectOutputStream到ByteArrayOutputStream)。
序列化数组的一种非常简单的方法(取决于存储的对象的复杂程度)是创建一个JSONArray来保存ArrayList值,并使用其内置的toString()方法。
https://stackoverflow.com/questions/6320233
复制相似问题