在Google Play上更新应用是否会导致当前版本的内部存储数据被删除?

时间:2018-07-02 03:04:11

标签: android google-play

我即将将我的游戏发布到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!");
    }
}

当我在手机上手动卸载游戏,然后再次运行该应用程序时,数据将像往常一样被删除。但是当我发布新版本的应用程序时,会发生同样的事情吗?目前,我对下载该应用程序的新版本的看法是卸载当前版本并安装新版本。但是我真的不确定,有人可以澄清吗?

2 个答案:

答案 0 :(得分:3)

否,您当前的应用程序内部存储不会被删除。

  

目前,我对下载该应用程序的新版本的看法   卸载当前版本并安装新版本

也不,这不是一个相同的过程。您的数据将仅在用户请求卸载时删除,或者如果您编写了序列以清除新版本中的数据,则将其删除。

答案 1 :(得分:0)

在不首先手动卸载应用程序的情况下更新应用程序时,将保留磁盘上的数据。您不必担心丢失正在写入的文件。

要测试它而不实际发布它,可以制作两个版本的apk,并使用不同的版本versionCode(例如版本1和版本2)。他们两个可能具有完全相同的代码库,只是版本不同。

现在安装并使用该应用程序1的版本,并确保已创建该文件。

要更新此应用,请运行以下命令:

adb install -r /path/to/your/version2/apk