您可以使用您的应用程序的内部存储来保存这些数据,并在您每次需要通过FileInputStream进行恢复。
如果您的对象比较复杂,为了节省空间,您可以使用Gson对其进行序列化,然后将其保存为简单字符串,并始终保存在内部存储器中。
例子:
Object yourObject = new Object;
Gson gson = new Gson();
String serializedObject = gson.toJson(yourObject);
//write to internal storage
FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
你可以阅读该字符串以这样的方式
String filename = "your_file";
FileInputStream fis = openFileInput(filename);
StringBuffer sBuffer = new StringBuffer();
DataInputStream dataIO = new DataInputStream(fis);
String strLine = null;
while((strLine = dataIO.readLine()) != null)
{
sBuffer.append(strLine+”\n”);
}
dataIO.close();
fis.close();
,最后反序列化。
对于使用onSaveInstanceState(),您应该可以创建一个包装类,该类包含Serializable对象的数组。类似于这个答案:http://stackoverflow.com/a/31422024/4409409 –
从以前的会话?使用数据库。 – JacksOnF1re