众所周知:
When the user uninstalls your app, the system removes all your app’s
files from internal storage.
当用户更新应用程序时是否会发生同样的事情?
我为什么要问?我在raw /文件夹中有一个文件,每次运行我的应用程序时它都移动到内部存储器(如果它尚未被移动):
//On Application onCreate() method:
InputStream jsonFile = ctx.getResources().openRawResource(R.raw.data);
File file = ctx.getFileStreamPath(Helper.FILE_NAME);
if(file.exists())
return; //Exit because the file is already been copied.
FileOutputStream fos = ctx.openFileOutput(Helper.FILE_NAME, Context.MODE_PRIVATE);
copyFile(fos, jsonFile); //my method to copy files.
该文件可能会在以后的应用程序版本中更新.如果系统在更新应用程序时删除内部文件,则上述代码将为“确定”.但是,如果不是这种情况,那么我需要执行另一项检查以确保用户具有最新版本.像这样的东西:
if(file.exists() && fileVersion == lastVersion)