Я ищу, чтобы сохранить/загрузить очень простое приложение в Android. Мысль будет проверять, существует ли файл в методе onCreate(), и если он загружает настройки в onCreate. Является ли это правильной функцией для этого? Сохранение выполняется в функции onPause().Android Beginner Сохранить/Загрузить небольшую информацию
То, как я буду это делать, - через FileOutputStream и FileInputStream.
Но как выглядит мой код? В настоящее время у меня есть это:
if (new File(FILENAME).isFile()) {
FileInputStream fis = null;
try {
fis = openFileInput(FILENAME);
fis.read();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
numOfEpisode = Integer.parseInt(fis.toString());
numOfSeason = Integer.parseInt(fis.toString());
}
Игнорируйте тот факт, что я не обработал исключение все же, так как я знаю, что файл будет там при тестировании.
protected void onPause() {
try {
FileOutputStream fos = openFileOutput(FILENAME,
Context.MODE_PRIVATE);
fos.write(numOfEpisode);
fos.write(numOfSeason);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Приложение в настоящее время дает мне сообщение об ошибке при закрытии приложения (когда вызывается onPause()). Может ли кто-нибудь указать мне в любом направлении, почему?
Также как узнать, каким образом FileOutputStream.write() записывает мои заявления? Является ли это FIFO или LIFO?
Есть ли причина, по которой вы используете файлы для этого? Если вы только сохраняете 2 'int', я бы просто сохранил их в [SharedPreferences] (http://developer.android.com/reference/android/content/SharedPreferences.html) –