我正在使用 PreferenceActivity 来显示我的应用程序的一些设置。我正在通过 xml 文件扩展设置,以便我的 onCreate(和完整的类方法)看起来像这样:
public class FooActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.preference);
}
}
These preferences will automatically save to SharedPreferences as the user interacts with them. To retrieve an instance of SharedPreferences that the preference hierarchy in this activity will use, call getDefaultSharedPreferences(android.content.Context) with a context in the same package as this activity.
getSharedPreferences(name, mode)
import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Many applications may provide a way to capture user preferences on the settings of a specific application or an activity. For supporting this, Android provides a simple set of APIs.
Preferences are typically name value pairs. They can be stored as “Shared Preferences” across various activities in an application (note currently it cannot be shared across processes). Or it can be something that needs to be stored specific to an activity.
getSharedPreferences
的帮助下进行管理。 Context
的方法类(class)。首选项存储在默认文件 (1) 或者你可以指定一个文件名 (2) 用于指代偏好。SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
public static final String PREF_FILE_NAME = "refFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
是首选项的操作模式。这是默认模式,意味着创建的文件只能由调用应用程序访问。支持的其他两种模式是MODE_WORLD_READABLE
和 MODE_WORLD_WRITEABLE
.在 MODE_WORLD_READABLE
其他应用程序可以读取创建的文件但不能修改它。如果是 MODE_WORLD_WRITEABLE
其他应用程序也对创建的文件具有写权限。int storedPreference = preferences.getInt("storedInt", 0);
SharedPreference.Editor
必须使用对象。 Editor
是 SharedPreference
中的嵌套接口(interface)类(class)。SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
remove()
等方法和 clear()
从文件中删除首选项值。getPreferences()
的帮助下做到这一点。 Activity 的方法。 getPreference
方法使用 getSharedPreferences()
方法与首选项文件名的 Activity 类的名称。SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
android.preference
的包。 .该包定义了实现应用程序首选项 UI 的类。关于java - 如何从 Android 中的 PreferenceActivity 获取 SharedPreferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614719/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |