Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android學習筆記--- 采用SharedPreferences保存用戶偏好設置參數

Android學習筆記--- 采用SharedPreferences保存用戶偏好設置參數

編輯:關於Android編程

2013-03-08 16_采用SharedPreferences保存用戶偏好設置參數 ------------------------------------------------- 1.eclipse就是通過xml來保存用戶的偏好設置-->window-->perfences --------------------------------------- 2.利用SharedPreferences(參數)保存用戶在android軟件上設置的偏好; -------------------------------- 3.android:numeric="integer"限定輸入框只能輸入整形 ------------------------------------------------------ 4.<Button     android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/button"          android:onClick="save"//指定點擊的方法,這個方法必須要   在//SharedPreferencesActivity.java中有定義     /> ------------------------------------------------------- 5.如何從SharedPreferences讀取數據   軟件需求,如果用戶曾經設置過參數那麼,當用戶再次打開的時候,要把用戶曾經設置的參數   顯示出來 --------------------------------------------- 6. //當軟件需要參數設置的時候,要用到這個 2013-03-09 ---------------------------------- 7.把用戶的數據保存到xml文件中,並創建xml文件,和讀取xml文件,以顯示用戶的設置 --------------------------------------------------- 8.所用代碼如下:  項目:SharedPreferences  com.credream.SharedPreferences.PreferencesService.java  package com.credream.SharedPreferences;   import java.util.HashMap; import java.util.Map;   import com.credream.SharedPreferences.R.string;   import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor;   public class PreferencesService { private Context context;   public PreferencesService(Context context) {   this.context = context; } /**  * 保存參數  * @param name 姓名  * @param age 年齡  */ public void save(String name, Integer age) {  SharedPreferences preferences=context.getSharedPreferences("credream",    Context.MODE_PRIVATE);  //不要添加後綴名,第二個是操作模式  Editor editor=preferences.edit();  editor.putString("name", name);  editor.putInt("age", age);//第一個是參數名稱,第二個是參數值  //目前是保存在內存中  editor.commit();//把內存中存在的數據寫到文件中 } /**  * 獲取各項配置參數  * @return  */ public Map<String, String> getPreference(){ Map<String, String> params=new HashMap<String, String>(); SharedPreferences preferences=context.getSharedPreferences("credream",    Context.MODE_PRIVATE); params.put("name", preferences.getString("name", "")); params.put("age", String.valueOf(preferences.getInt("age", 0))); //第一個是xml中的<name>,第二個參數是默認值"" return params; }   } -------------------------------------------------------- 2./SharedPreferences/src/com/credream/SharedPreferences/SharedPreferencesActivity   .java ---------------- package com.credream.SharedPreferences;     import java.util.Map;   import android.app.Activity;   import android.os.Bundle; import android.view.View;   import android.widget.EditText;   import android.widget.Toast;     public class SharedPreferencesActivity extends Activity {       /** Called when the activity is first created. */      private EditText nameText;      private EditText ageText;      private PreferencesService  service;   @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);      nameText=(EditText)this.findViewById(R.id.name);      ageText=(EditText)this.findViewById(R.id.age);      service=new PreferencesService(this);//放到oncreate,只需要實例化一次這個對象就   可以了      Map<String, String> params=service.getPreference();      nameText.setText(params.get("name"));      ageText.setText(params.get("age")); }           public void save(View v){      String name=nameText.getText().toString();      String age=ageText.getText().toString();             service.save(name,Integer.valueOf(age));       Toast.makeText(getApplicationContext(), R.string.success, 1).show();        //this.getPreferences(mode); //默認情況下,會采用      //Activity這個類的名稱作為xml文件的名稱      //在Activity類中如果需要Preference的時候,可以這樣用      //當軟件需要參數設置的時候,要用到這個      } } -------------------------------------------------------- 3./SharedPreferences/res/layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:orientation="vertical" >       <TextView         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/name" />        <EditText          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:id="@+id/name" />              <TextView         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/age" />     <EditText          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:numeric="integer"         android:id="@+id/age" />       <Button     android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/button"          android:onClick="save"     />www.2cto.com </LinearLayout> ------------------------------------------------------ 4./SharedPreferences/res/values/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources>     <string name="hello">Hello World, SharedPreferencesActivity!</string>     <string name="app_name">軟件參數設置</string>     <string name="name">姓名</string>     <string name="age">年齡</string>     <string name="button">保存參數</string>      <string name="success">保存完成</string> </resources> ---------------------------------------------------
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved