共享首选项值 returns 空
Shared Preference value returns null
我有一个使用共享首选项的应用程序。我调试了我的应用程序并意识到字符串值存储在共享首选项中。但是当我在其他 activity 中检索值时,它 returns null
参考下面我的代码:
活动 1:
SharedPreferences preferences = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("NewEmailID", "example@xyz.com");
活动2:
SharedPreferences preferences = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
String strEmailID = preferences.getString("NewEmailID", null);
if (strEmailID != null){
lblEmailID.setText(strEmailID);
}
如您在 Activity1 中所见,我将字符串值存储在共享首选项中,而在 Activity2 中,我从中检索值。
因此,strEmailID
returns 无效。
我是不是做错了什么?
提前致谢..
尝试:
SharedPreferences preferences = getSharedPreferences("MyPref",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("NewEmailID", "example@xyz.com");
editor.commit();
将值保存到 SharedPreferences 时添加 editor.commit();。
将内容放入编辑器后,您必须使用 apply 或 commit。
SharedPreferences preferences = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("NewEmailID", "example@xyz.com");
editor.apply();
应用是异步的,它不会阻塞进程,也不会 return 判断真假。此操作运行速度更快,因为会立即更改内存中的值并稍后将其写入其他线程。但是与使用在同一线程中写入的提交相比,很少有值具有相同的性能。
我有一个使用共享首选项的应用程序。我调试了我的应用程序并意识到字符串值存储在共享首选项中。但是当我在其他 activity 中检索值时,它 returns null
参考下面我的代码:
活动 1:
SharedPreferences preferences = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("NewEmailID", "example@xyz.com");
活动2:
SharedPreferences preferences = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
String strEmailID = preferences.getString("NewEmailID", null);
if (strEmailID != null){
lblEmailID.setText(strEmailID);
}
如您在 Activity1 中所见,我将字符串值存储在共享首选项中,而在 Activity2 中,我从中检索值。
因此,strEmailID
returns 无效。
我是不是做错了什么?
提前致谢..
尝试:
SharedPreferences preferences = getSharedPreferences("MyPref",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("NewEmailID", "example@xyz.com");
editor.commit();
将值保存到 SharedPreferences 时添加 editor.commit();。
将内容放入编辑器后,您必须使用 apply 或 commit。
SharedPreferences preferences = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("NewEmailID", "example@xyz.com");
editor.apply();
应用是异步的,它不会阻塞进程,也不会 return 判断真假。此操作运行速度更快,因为会立即更改内存中的值并稍后将其写入其他线程。但是与使用在同一线程中写入的提交相比,很少有值具有相同的性能。