Home 主頁 Service 服務計畫 Android App 手機程式 Expertise 專業領域 Blog 博客 Download 下載 FAQ 網頁製作常見問題 Support 支援 Links 友情連結 Contact Us 聯絡我們

15 - Preference Manager

發佈: 08-14-2011

分類: Android 開發教學

第十五課:Preference Manager

本文介紹如何使用Preference Manager。我們將會以xml建立一個用戶偏好設定(user preference)的PreferenceActivity,並在app開始時載入以前的設定。 PreferenceActivity是個很易用的activity,我們只要為這activity定立一個PreferenceScreen的xml文件,我們就可以完成一個很複雜的偏好設activity,而且 資料也可以自動保存!同時,我們也會學到如何讀取系統自動保存了的設定。

我們先在res中新增一個xml的文件夾,並加入mypref.xml的PreferenceScreen文件。如下:


    
    
    
	    
    

  
    
  

    
	    	
    
		 
    

  


上邊的xml是本文的重點,首先我們加入一個PreferenceScreen,接著便定義了兩個分類PreferenceCategory,這樣用戶就會更清楚。 在兩個分類中,我們運用了EditTextPreference,CheckBoxPreference,RingtonePreference,ListPreference等四個preference。 你須為它加上一個key,才可以在java中使用(讀取)。ListPreference是較特別的,因為它容許你加入一個列表,並選擇適當的value。 你可以在string.xml文件中加入array,然後在這個PreferenceScreen中載入。詳情可參考youtube,或下載source code。

我們接下來就是建立一個名為Settings的PreferenceActivity(extends PreferenceActivity)。在onCreate內加上:

addPreferencesFromResource(R.xml.mypref);

因為它是個activity,你也要在androidManifest.xml中加上它。然後,馬上回到我們默認生成的主activity(MyPreferenceDemoActivity)。 我們通過PreferenceManager,把SharedPreference找出來,當你需要讀取preference activity中的設定時,便可以根據早前加入的key讀取資料。 如果還沒設定好,也可以使用默認值(default value)。

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);

String name = sp.getString("name", "KFSOFT"); //"KFSOFT" is default value

我們隨時可以把PreferenceActivity以startActivity方式呼叫出來。

Intent i = new Intent(MyPreferenceDemoActivity.this, Settings.class);
startActivity(i);	

在測試時,當你選擇了設定後,可以退出app,再重新開啟。你會發現,從前輸入的設定已保存下來。

Download: MyPreferenceDemo

訪客: Copyright ©2011 KF Software House 版權所有 | 網站地圖