Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android中的Shared Preference (分享首選項) 詳解

Android中的Shared Preference (分享首選項) 詳解

編輯:Android開發教程

Shared Preference將一組原始數據的NVP(name-value pair)存儲為命名首選項(named preference).

創建SharedPreferences類使用getSharedPreferences(), 並傳入要SharedPreferences的名稱;

修改SharedPreferences類使用SharedPreferences.Editor類, 通過調用SharedPreferences類的edit()方法, 獲取對象;

使用SharedPreferences.Editor類的put<type>()方法進行修改相關的名稱(name)的值(value);

使用SharedPreferences.Editor類的apply()方法進行異步保存;

注意:保存可以使用apply()方法和commit()方法, 但是apply()方法是首選.

apply()方法是異步保存, commit()方法是同步保存, 需要阻止調用線程, 判斷返回, 所以優先選擇apply()方法.

訪問SharedPreferences類, 使用getSharedPreferences()方法, 即與創建類似;

使用SharedPreferences類的get<type>()方法, 返回保存的值, 需要一個命名(name), 即鍵(key), 和一個默認值, 當沒有值時使用默認.

使用SharedPreferences類的getAll()方法, 返回所有映射, 可以通過contains()方法, 返回boolean類型, 判斷是否存在.

具體參考Android API: http://[防禁用]developer.android.com/guide/topics/data/data-storage.html

查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/

代碼:

package mzx.spike.earthquake.app;  
      
import android.app.Activity;  
import android.content.SharedPreferences;  
import android.os.Bundle;  
      
import java.util.Map;  
      
/** 
 * Created by Spike on 2014/4/25. 
 */
public class Test extends Activity {  
    public static final String MY_PREFS = "MyPrefs";  
      
    @Override
    protected void onCreate(Bundle state){  
        super.onCreate(state);  
      
        // Restore preferences  
        SharedPreferences mySharedPreferences = getSharedPreferences(MY_PREFS, Activity.MODE_PRIVATE);  
        SharedPreferences.Editor editor = mySharedPreferences.edit();  
      
        editor.putBoolean("isTrue", true);  
        editor.putFloat("lastFloat", 1f);  
        editor.putInt("wholeNumber", 2);  
        editor.putLong("aNumber", 31);  
        editor.putString("textEntryValue", "Not Empty");  
      
        editor.commit();  
      
        boolean isTrue = mySharedPreferences.getBoolean("isTrue", false);  
        float lastFloat = mySharedPreferences.getFloat("lastFloat", 0f);  
        int wholeNumber = mySharedPreferences.getInt("wholeNumber", 1);  
        long aNumber = mySharedPreferences.getLong("aNumber", 0);  
        String textEntryValue = mySharedPreferences.getString("textEntryValue", "");  
      
        Map<String, ?> allPreferences = mySharedPreferences.getAll();  
        boolean containsLastFloat = mySharedPreferences.contains("lastFloat");  
    }  
}

作者:csdn博客 Spike_King

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved