iT邦幫忙

DAY 8
0

菜逼八的 Android 開發 30天系列 第 8

【菜逼八學Android】偏好設定的PreferenceFragment(2)

  • 分享至 

  • xImage
  •  

哈囉大家好~
繼昨天我們建立了偏好設定之後,我們知道如何寫入檔案,那要怎麼把它取出來呢?

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);
	}
}

今天的練習就到這邊~謝謝大家的閱讀~我們明天見~


上一篇
【菜逼八學Android】偏好設定的PreferenceFragment(1)
下一篇
【菜逼八學Android】輕鬆做出轉場動畫 TransitionManager
系列文
菜逼八的 Android 開發 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言