Android - Sharedpreferences收集数据

时间:2017-08-01 15:06:29

标签: android sharedpreferences

我在打开应用程序时生成一个随机数,然后使用Sharedpreferences保存此数字。这是我的代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Random r = new Random();
        int number = r.nextInt(100);

        SharedPreferences randomnumber = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        SharedPreferences.Editor editor = randomnumber.edit();
        editor.putInt("intValue",number);
        editor.commit();
    }
}

打开应用程序时,我可以收集旧号码和新号码吗?

2 个答案:

答案 0 :(得分:2)

您使用此

覆盖旧值并使用新值
editor.putInt("intValue",number);

这就是为什么你总会看到一个值的原因。您可以使用不同的字段名称,也可以使用数组,例如How can I store an integer array in SharedPreferences?

答案 1 :(得分:1)

在设置新值之前获取旧值..

    Random r = new Random();
    int number = r.nextInt(100);

    SharedPreferences randomnumber = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

    String old = randomnumber.getString('intValue');  // old value

    SharedPreferences.Editor editor = randomnumber.edit();
    editor.putInt("intValue",number); // set new value
    editor.apply();