您可以使用您的應用程序的內部存儲來保存這些數據,並在您每次需要通過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