我要在Android电子市场上发布我的应用。这个应用程序创建一些文件/目录...发布更新删除旧版本的旧文件? 如果没有,在首次启动升级后的应用程序时,Android上用新文件替换旧文件的最佳方法是什么?
在IOS上,我解决了这个问题,创建一个空文件,指示应用程序的版本。升级应用程序时,它会将磁盘上的旧版本与应用程序版本进行比较,如果它们不同,则会删除旧数据。但是我想知道是否有像SQLiteOpenHelper的'onUpgrade'方法这样的本地方法。
谢谢。
答案 0 :(得分:1)
不,我不相信旧文件在升级时不会自动删除。如果我错了,有人会纠正我。
但是只需创建一个这样的方法来删除旧的文件目录,然后再替换它。
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() );
}
答案 1 :(得分:1)
是否会发布更新删除旧版本的旧文件?
没有
在IOS上,我解决了这个问题,创建一个空文件,指示应用程序的版本。升级应用程序时,它会将磁盘上的旧版本与应用程序版本进行比较,如果它们不同,则会删除旧数据。
对于Android来说,这也是一个很好的解决方案,恕我直言。
但是我想知道是否有像SQLiteOpenHelper的'onUpgrade'方法这样的原生方法。
SQLiteOpenHelper
几乎完全按照您在iOS中为文件执行的操作,除了不是空文件,而是包含版本数据的元数据表。