应用更新时的共享首选项

时间:2018-01-13 13:15:47

标签: android

我正在研究自己的机器人

我有一个问题。假设,Playstore上的应用程序是1.0版本,并且没有类似下面的代码

SharedPreferences pref = getSharedPreferences("isFirst" , Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
        ...
        editor.commit();

现在,我开发了2.0版,我添加了该代码。而且,用户会将应用更新到2.0版

Q1。虽然app没有该代码,但是会自动生成共享首选项吗? Q2。如果在版本1中未生成共享首选项,则在用户将应用程序更新到版本2.0时会生成共享首选项吗? Q3。如果在版本1中生成共享首选项,我如何知道用户使用代码将应用程序更新到版本2.0?

我有问题的代码

public boolean CheckAppFirstExecute(){
    SharedPreferences pref = getSharedPreferences("isFirst" , Activity.MODE_PRIVATE);
    boolean isFirst = pref.getBoolean("isFirst", false);
    if(!isFirst) {
        SharedPreferences.Editor editor = pref.edit();
        editor.putBoolean("isFirst", true);
        editor.commit();

        ....


    }else{
        Log.d("this is not first", "not first");
    }

    return !isFirst;

}

1 个答案:

答案 0 :(得分:0)

  

Q1。虽然app没有该代码,但共享首选项是自动的   产生

     

Q2。如果在版本1中未生成共享首选项,则它将是   用户将应用程序更新到2.0版时生成?

“getSharedPreferences”没有为应用程序生成SharedPreferences。 它只是返回一个界面,您可以通过该界面将某些类型的数据保存在存储中。

  

Q3。如果在版本1中生成共享首选项,我怎么知道   用户使用代码将应用程序更新到2.0版本?

如果您要更新PlayStore上的应用,则必须在versionCode文件中增加build.gradle(Module:app)属性的整数值。您可以通过以下命令在Java中获取此值:BuildConfig.VERSION_CODE