在android studio

时间:2017-10-11 06:41:52

标签: android android-studio constants

我在android中编码很新,所以我几乎不知道任何语法。我在MainActivity.java中定义一个变量,并为其分配一个随机的4位数值。我想在安装/更新应用程序时仅分配此值一次,而不是每次用户打开应用程序时分配此值。如果你们中的任何人知道这方面的解决方案,请帮帮我。以下是我目前的代码

Random r = new Random();
        int i1 = r.nextInt(9999 - 1) + 1;

3 个答案:

答案 0 :(得分:0)

使用SharedPreference保存值使用此代码

int i1=0;
 if (getIntValue() == 0) {
            Random r = new Random();
            i1 = r.nextInt(9999 - 1) + 1;
            saveIntValue(i1);
        } else {
            i1 = getIntValue();
        }

这里有两种方法

public void saveIntValue(int myIntValue) {
    SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putInt("your_int_key", myIntValue);
    editor.commit();

}

public int getIntValue() {
    SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
    int myIntValue = sp.getInt("your_int_key", 0);
    if (myIntValue == 0) {
        return 0;
    } else {
        return myIntValue;
    }
}

答案 1 :(得分:0)

  

如果值为0则存储在首选项中,否则获取存储值

Random r = new Random();
    int value= r.nextInt(9999 - 1) + 1;

if(getValue()==0)
    PreferenceManager.getDefaultSharedPreferences(context).edit()
                     .putInt("uniqueInt", value).apply();
    else {
        int uniqueIntFromPref = getValue();
    }
  

从首选项中检索

private int getValue() {
            return  PreferenceManager
                    .getDefaultSharedPreferences(context)
                    .getString("uniqueInt", 0);
        }

只需复制并粘贴上面的代码

即可

答案 2 :(得分:0)

  SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putInt(getString("key for value", somrRandonNumber);
editor.putBoolean("is first lunch", false);
    editor.commit();

然后用

进行检索
int number = sharedPref.getInt("key for value";

有时你需要指定一个默认值,如:

SharedPref.getBoolean("is first lunch",true);
祝你好运