哈囉大家好~
繼昨天我們建立了偏好設定之後,我們知道如何寫入檔案,那要怎麼把它取出來呢?
Step1. 幫你的SharedPreference取名字
這是很重要的事情(筆記),沒有取名字就無法找到我們當初建立的偏好設定了,所以我們在昨天寫好的
PreferenceFragment中,加一個NAME給它,這個名稱可以任意,只是在抓取的時候會根據這個代號這樣~
public class MyPreference extends PreferenceFragment {
public static final String PREFERENCES_NAME = "myPreference"; //偏好設定名稱
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 取得PreferenceManager並設定偏好設定名稱
this.getPreferenceManager().setSharedPreferencesName(PREFERENCES_NAME);
addPreferencesFromResource(R.xml.my_preferences);
}
}
Step2 .取得偏好設定,並抓出偏好的值
我們建立一個空的Activity來測試,看看我們的值是否有被存進去,
首先我們要抓出SharedPreference這個物件,記得,抓的時候要填入我們剛剛取好的名字。
這裡介紹一下 Activity.MODE_PRIVATE,它代表SharedPreferences的操作模式,例如
Activity.MODE_PRIVATE : 這個檔案只能被建立它的應用程式存取
這個MODE有非常多種,大家可以到官方文件去看
http://developer.android.com/reference/android/app/Activity.html
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 取得一個名叫PREFERENCES_NAME的偏好設定
SharedPreferences preference = getSharedPreferences(
MyPreference.PREFERENCES_NAME, Activity.MODE_PRIVATE);
// 取得該偏好設定的匿名設定內容
String name = preference.getString("ref_key_name", "");
// 顯示到textview1
TextView textview1 = (TextView) findViewById(R.id.textView1);
textview1.setText(name);
}
}
今天的練習就到這邊~謝謝大家的閱讀~我們明天見~