我即将将我的游戏发布到Google Play商店,并且该游戏包含保存数据。
我这样写数据:
public static void write_to_file(String filename, String data){
try{
FileOutputStream fos = MainActivity.current_context.openFileOutput(filename + ".txt", Context.MODE_PRIVATE);
OutputStreamWriter osw = new OutputStreamWriter(fos);
try{
osw.write(data);
osw.close();
}
catch(IOException e){
Log.d("DataManager", "Attempted to write to file: " + filename + ".txt" + " couldn't write.");
}
}
catch(FileNotFoundException e){
Log.d("DataManager","Attempted to write to file: " + filename + ".txt" + " not found!");
}
}
当我在手机上手动卸载游戏,然后再次运行该应用程序时,数据将像往常一样被删除。但是当我发布新版本的应用程序时,会发生同样的事情吗?目前,我对下载该应用程序的新版本的看法是卸载当前版本并安装新版本。但是我真的不确定,有人可以澄清吗?
答案 0 :(得分:3)
否,您当前的应用程序内部存储不会被删除。
目前,我对下载该应用程序的新版本的看法 卸载当前版本并安装新版本
也不,这不是一个相同的过程。您的数据将仅在用户请求卸载时删除,或者如果您编写了序列以清除新版本中的数据,则将其删除。
答案 1 :(得分:0)
在不首先手动卸载应用程序的情况下更新应用程序时,将保留磁盘上的数据。您不必担心丢失正在写入的文件。
要测试它而不实际发布它,可以制作两个版本的apk,并使用不同的版本versionCode(例如版本1和版本2)。他们两个可能具有完全相同的代码库,只是版本不同。
现在安装并使用该应用程序1的版本,并确保已创建该文件。
要更新此应用,请运行以下命令:
adb install -r /path/to/your/version2/apk