Как удалить старые файлы приложения при выпуске новой версии в Android?

1

Я собираюсь распространять свое приложение на Android Market. Это приложение создает некоторые файлы/каталоги... действительно ли релиз обновления удаляет старые файлы более старых версий? Если нет, то какой лучший метод доступен на Android для замены старых файлов новыми файлами при первом запуске обновленного приложения?

В IOS я решил эту проблему, создав пустой файл, который указывает версию приложения. Когда приложение обновляется, оно сравнивает старую версию с диском с версией приложения и, если оно отличается, оно удаляет старые данные. Но я хотел знать, есть ли собственный метод, например, метод onUpgrade для SQLiteOpenHelper.

Спасибо.

Теги:
google-play

2 ответа

1
Лучший ответ

выпускает ли обновление старые файлы старых версий?

Нет.

В IOS я решил эту проблему, создав пустой файл, который указывает версию приложения. Когда приложение обновляется, оно сравнивает старую версию с диском с версией приложения и, если оно отличается, оно удаляет старые данные.

Это прекрасное решение для Android, ИМХО.

Но я хотел знать, есть ли собственный метод, например, метод onUpgrade для SQLiteOpenHelper.

SQLiteOpenHelper делает практически то, что вы делаете в iOS для файлов, за исключением того, что вместо пустого файла есть таблица метаданных с данными о версии.

1

Нет, я не верю, что старые файлы arent автоматически удаляются при его обновлении. Некоторые меня исправляют, если они ошибаются.

Но просто создайте такой метод, чтобы удалить старый каталог файлов, прежде чем он его заменит.

static public boolean deleteDirectory(File path) {
if( path.exists() ) {
  File[] files = path.listFiles();
  if (files == null) {
      return true;
  }
  for(int i=0; i<files.length; i++) {
     if(files[i].isDirectory()) {
       deleteDirectory(files[i]);
     }
     else {
       files[i].delete();
     }
  }
}
return( path.delete() );

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню