Файлы внутренней памяти Android иногда не обнаруживаются после обновления приложенияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Файлы внутренней памяти Android иногда не обнаруживаются после обновления приложения

Сообщение Anonymous »

В моем приложении для Android объекты создаются с переменными, выбранными пользователем, и сохраняются в виде файлов данных во внутренней памяти.
Все работает хорошо и так, как должно. Иногда, когда я обновляю приложение, очень небольшой процент пользователей сообщает, что их данные исчезли.
Все обновления устанавливаются через 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»