Android之SharedPreference輕量級資料儲存

鴨脖發表於2012-07-18

SharedPreference主要是儲存一些常用的配置比如視窗狀態,一般在Activity中 過載視窗狀態onSaveInstanceState儲存一般使用SharedPreferences完成。 類似過去Windows系統上的ini配置檔案,但是它分為多種許可權,可以全域性共享訪問。

 

[java] view plaincopy
  1. package com.Demo.SharedPreferences;  
  2. import android.app.Activity;  
  3. import android.content.SharedPreferences;  
  4. import android.os.Bundle;  
  5. import android.widget.EditText;  
  6. public class DBSharedPreferences extends Activity {  
  7. public static final String SETTING_INFOS = "SETTINGInfos";  
  8. public static final String NAME = "NAME";  
  9. public static final String PASSWORD = "PASSWORD";  
  10. private EditText field_name; //接收使用者名稱的元件  
  11. private EditText filed_pass; //接收密碼的元件  
  12. /** Called when the activity is first created. */  
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.         //Find VIew  
  18.         field_name = (EditText) findViewById(R.id.name); //首先獲取用來輸入使用者名稱的元件  
  19.         filed_pass = (EditText) findViewById(R.id.password); //同時也需要獲取輸入密碼的元件  
  20.         // Restore preferences  
  21.       //獲取一個SharedPreferences物件,SETTING_INFOS與SETTING_INFOS.XML檔案相對應    
  22.         //效果相當於讀取SETTING_INFOS.XML檔案,如果檔案不存在,則進行建立  
  23.         SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); //獲取一個 SharedPreferences 物件  
  24.       //取出儲存的NAME,取出改欄位名的值,不存在則建立預設為空  
  25.         String name = settings.getString(NAME, ""); //取出儲存的 NAME  
  26.         String password = settings.getString(PASSWORD, ""); //取出儲存的 PASSWORD  
  27.         //Set value  
  28.         field_name.setText(name); //將取出來的使用者名稱賦給 field_name  
  29.         filed_pass.setText(password); //將取出來的密碼賦給 filed_pass  
  30.     }  
  31.       
  32.     @Override  
  33.     protected void onStop(){  
  34.         super.onStop();  
  35. SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); //首先獲取一個 SharedPreferences 物件  
  36. settings.edit()  
  37. .putString(NAME, field_name.getText().toString())  
  38. .putString(PASSWORD, filed_pass.getText().toString())  
  39. .commit();  
  40.     } //將使用者名稱和密碼儲存進去  
  41.       
  42. }  

在Android系統中, 其配置檔案的資料檔案 以XML檔案的形式儲存在  /data/data/PACKAGE_NAME   /shared_prefs  目錄下

轉自http://blog.csdn.net/weichaohnu/article/details/5629503

相關文章