看到很多書中都沒有對PreferenceActivity做介紹,而我在看Android Samples時無意中看見了,所以就稍微總結一下,也方便日後查找。
PerferenceActivity是什麼,看下面的截圖:
好了,我們看到Android系統本身就大量用到了PreferenceActivity來對系統進行信息配置和管理,那麼它是怎麼保存數據的呢,如何創建PrefenceActivity的呢,更關鍵是怎樣觸發相應事件的呢。
先看第一個問題,PreferenceActivity是如何保存的數據。對Android系統了解的都知道,Android系統有四種基本的數據保存方法,一是SharedPreference,二是文件,三是SQLite,四是ContentProvider。看出來了吧,Preference,對就是使用SharedPreferneces以鍵值對的形式進行保存的,當然,我們也可以通過SharedPreferences來獲取PreferenceActivity設置的值。
第二個問題:如何創建一個PreferenceActivity。 其實Eclipse提供了相應的創建工具,和創建Layout是基本相同的。步驟如下:
創建Android項目,並添加一個Android xml文件。注意,這次選擇的不是Layout,而是Preference,而且注意Folder路徑是 res/xml.
添加完成之後,在res/xml/下打開添加的preference.xml文件。可以看到Android也為我們提供兩種編輯模式,可視化的結構設計及xml源碼設計。推薦使用structure進行創建。如圖所示:PreferenceScreen:PreferenceActivity的根元素,必須為它。
RingtonePreference:系統玲聲選擇。
OK,Preferenc的基本元素介紹完畢,下一節將使用它們創建一個完整的Preference並進行顯示。