Я пытаюсь написать игру для Android, и я хотел бы иметь возможность сделать паузу в игре, даже если пользователь захочет вернуться в главное меню или действие будет прервано системой.onSaveInstanceState, кажется, не дает мне большого контроля над тем, когда я могу прочитать пакет обратно, и, как я могу сказать, пакет хорош только в течение коротких периодов времени.Поэтому я хочу сериализовать несколько имеющихся у меня массивов ArrayList, а затем прочитать их обратно.Я не получаю никаких ошибок компиляции и не происходит сбой программы.Но данные либо никогда не записываются, либо никогда не читаются.Я не уверен, какой.Мой метод serializeData вызывается из onDestroy, а метод deserializeData вызывается из onCreate.Вот мой код для записи и чтения данных:
public void serializeData(String filename, ArrayList<String>arrayList) {
FileOutputStream fos;
try {
fos = openFileOutput(filename, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(arrayList);
oos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
private void deserializeData(String filename, ArrayList<String>arrayList){
try{
FileInputStream fis = openFileInput(filename);
ObjectInputStream ois = new ObjectInputStream(fis);
arrayList = (ArrayList<String>)ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
Любая помощь будет принята с благодарностью!Заранее спасибо!