Все работает хорошо и так, как должно. Иногда, когда я обновляю приложение, очень небольшой процент пользователей сообщает, что их данные исчезли.
Все обновления устанавливаются через Google Play. Я сам никогда не сталкивался с этой проблемой (я проверяю приложение на физических устройствах на внутреннем тестовом треке и не могу его дублировать.
Излишне говорить, что это серьезная проблема для пользователей.
Я потратил много времени на расследование, но не смог найти причину этого.
Данные хранятся с помощью этого метода:< /p>
Код: Выделить всё
public static void writeObject(Context context, String filename, Object object) throws IOException {
String tempFile = null;
File dir = context.getDir(dirName, Context.MODE_PRIVATE);
File file = new File(dir, filename);
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.close();
fos.close();
}
Код: Выделить всё
public static PatternObject readObject(Context context, String filename) throws IOException, ClassNotFoundException {
File dir = context.getDir(dirName, Context.MODE_PRIVATE);
File file = new File(dir, filename);
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
PatternObject patternObject = (PatternObject) ois.readObject();
ois.close();
fis.close();
return patternObject;
}
Код: Выделить всё
public static String[] ShowSavedFiles(Context context){
File dir = context.getDir(dirName, Context.MODE_PRIVATE);
String[] SavedFiles;
List list = new ArrayList();
File [] fileList = dir.listFiles();
for (File file : fileList){
list.add(file.getName());
}
SavedFiles = list.toArray(new String[0]);
return SavedFiles;
}
Насколько я понимаю, Обновление приложения никогда не удалит файлы данных из внутренней памяти. Однако некоторые пользователи сообщают об этой проблеме.
Пользователи, столкнувшиеся с этой проблемой, отказываются удалять приложение.
Что может привести к исчезновению данных при приложение обновлено из Google Play?
Один пользователь сообщил, что в какой-то момент она использовала функцию «Принудительная остановка». Я сам пробовал это, но данные приложения все еще находятся.
Подробнее здесь: https://stackoverflow.com/questions/784 ... app-update
Мобильная версия