<分区>
假设我们只想在首选项选项设置为 true 时执行某些操作。它可能是情况的类图:
PreferencesActivity
中 getDoSomethingOptionValue()
的实现如下:
public boolean getDoSomethingOptionValue(){
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity()
return settings.getString("doSomethingOptionValue", "false");
}
在 Java 中(我的意思是,没有 Android),MainActivity
应该使用 PreferencesActivity
中的 get 方法获取值:
if (PreferencesActivity.getDoSomethingOptionValue()){
// TODO
executeSomething()
}
但实际上 与 Android 交流 Activity 更复杂(我喜欢 this tutorial about how to communicate two running activities )。 所以我受邀直接从 MainActivity
检查首选项。代码会更简单、更高效。它可能是这样的:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity()
if (settings.getString("doSomethingOptionValue", "false"){
// TODO
executeSomething()
}
推荐使用 Android 的做法是什么?