我正在尝试保存我制作的 Android 应用程序上的信息。我想保留一个名字,“罗伯特”。为此,我一直在研究共享首选项,但找不到解释如何创建共享首选项的教程。
所有教程都是这样开始的:
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
但是他们没有解释 getPreferences() 从哪里获取对象。
此对象(SharedPreferences 对象)何时创建?它是与上下文一起创建的吗?它是与每个 Activity 一起创建的吗?
我对 Android 还很陌生,但是是一个中级(不具备)Java 程序员。
最佳答案
SharedPreferences 的创建方式如下:
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "Robert");
editor.commit(); //Or use editor.apply()
然后你会像这样再次得到它们:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
因此,getString() 会获取您之前存储的值,如果您尚未存储“name”字符串,则返回默认值。
您存储的对象保存在系统中,并且始终可供抓取。
更新: getSharedPreferences() 方法返回 SharedPreferences.Editor 接口(interface)。 根据android docs
Interface used for modifying values in a SharedPreferences object. All changes you make in an editor are batched, and not copied back to the original SharedPreferences until you call commit() or apply()
更新2: This answer包含有关 SharedPreferences 存储的更多信息。
关于java - 共享首选项不需要创建吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666207/