使用sharedpreferences在android中存储和检索数字

osc*_*car 1 android sharedpreferences

我正在尝试在android中存储和检索数字,以便稍后我可以对结果进行计算.我正在设法存储和获取字符串,但由于某种原因似乎无法让它适用于整数

这是我测试的字符串代码

保存...

getSharedPreferences("words", 0).edit().putString("YAS", wordString).commit();
Run Code Online (Sandbox Code Playgroud)

接收...

String words= getSharedPreferences("words", 0).getString("YAS", "");
t.setText(words);
Run Code Online (Sandbox Code Playgroud)

但是当我用整数尝试类似的东西时它不起作用.

保存...

getSharedPreferences("number", 0).edit().putInt("numbers", 1).commit();
Run Code Online (Sandbox Code Playgroud)

接收...

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
Run Code Online (Sandbox Code Playgroud)

基本上我需要在按下按钮之前保存的变量为0(我猜它会因为它在那时不存在)然后按下时更改为1.无论按下按钮多少次,任何帮助都只会等待1次欢呼

Jan*_*usz 5

你评论我认为你做的是这样的:

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(test2);
Run Code Online (Sandbox Code Playgroud)

这将使系统在您的xml资源文件中查找具有值test2(在您的情况下为0)的ressource id的资源.这个资源不存在,你得到一个例外.

使用

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(Integer.toString(test2));
Run Code Online (Sandbox Code Playgroud)

代替.