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

Программисты JAVA общаются здесь
Ответить
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 МБ.

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