使用共享首选项在Android中存储和检索号码



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

这是我测试的字符串代码

救。。。

getSharedPreferences("words", 0).edit().putString("YAS", wordString).commit();

收到。。。

String words= getSharedPreferences("words", 0).getString("YAS", "");
t.setText(words);

但是当我尝试用整数做类似的事情时,它不起作用。

救。。。

getSharedPreferences("number", 0).edit().putInt("numbers", 1).commit();

收到。。。

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);

基本上,我需要在按下按钮之前将保存的变量设置为 0(我猜会是这样,因为它当时不存在),然后在按下时更改为 1。无论按下按钮多少次,它都只等于 1为任何帮助干杯

从您的评论中,我假设您正在做这样的事情:

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(test2);

这将使系统在 xml 资源文件中查找资源 ID 值为 test2(在本例中为 0)的 ressource。此资源将不存在,并且您会收到异常。

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(Integer.toString(test2));

相反。

在这一点上你错了,在按下按钮之前,SharedPrefereces 不存在。第一次 - 是的,它不存在。但是,当您保存了您的价值时,无论您重新启动应用程序多少次,它都会在那里。但是,如果您删除应用程序,则共享首选对象也将被删除。

看起来您应该使用一个简单的整数变量(例如类字段)。

最新更新