SharedPreferences詳解1

package com.zhong.helper;

import android.content.Context;
import android.content.SharedPreferences;

//1、SharedPreferences(共享選擇)
//(一)特點:
//(1)以鍵值對的形式保存到目錄爲/data/data/包名/shared_prefs目錄的*.xml文件中。
//(2)目前支持的數據類型有string、int、long、float、boolean。
//(3)不支持自定義的Object。
//(4)通常用來存儲app上的配置信息,如是否振動、是否打開音效、小遊戲積分。
//(5)SharedPreferences是一個接口,無法直接創建實例,可通過Context的getSharedPreferences(String name, int mode)方式來獲取實例。
//(6)mode參數有三種值
//Context.MODE_PRIVATE:指定該SharedPreferences的數據只能被本應用程序讀、寫。
//Context.MODE_WORLD_READABLE:指定SharedPreferences數據能被其它應用程序讀,但是不支持寫;
//Context.MODE_WORLD_WRITEABLE:指定該ShaedPreferences數據能被其他應用程序讀、寫。
//(二)操作:(可創建工具類,無權限)
//(1)創建
//通過Context下的getSharedPreferences()方法獲取實例。
//prefs = Context.getSharedPreferences(“標記字符串”,int mode);//獲取SharedPreferences實例
//mode參數有三種值
//Context.MODE_PRIVATE:指定該SharedPreferences的數據只能被本應用程序讀、寫。
//Context.MODE_WORLD_READABLE:指定SharedPreferences數據能被其它應用程序讀,但是不支持寫;
//Context.MODE_WORLD_WRITEABLE:指定該ShaedPreferences數據能被其他應用程序讀、寫。
//調用edit()獲取SharedPreferences.Editor。得到Editor對象
//SharedPreferences.Editor editor = prefs.edit();//獲取Editor實例
//(2)增:
//通過SharedPreferences.Editor接口提供的put()方法對SharedPreferences進行更新;
//editor.putInt(“age”,38);//數據更新
//editor:putString();
//editor.commit();
//(3)刪:手動找到文件刪了,或者重新安裝軟件
//(4)改:通過鍵名相同來重複put值就可以。
//(5)查:prefs.getString(“age”);//如果遍歷?值得思考

/**
 * 
 * 
 */
public class SharedPreferencesHelper {
    private final static String TAG = "SharedPreferencesHelper";
    private SharedPreferences prefs;
    private SharedPreferences.Editor editor;

    public SharedPreferencesHelper(Context context) {
        prefs = context.getSharedPreferences(TAG, Context.MODE_PRIVATE);
        editor = prefs.edit();
    }

    /**
     * 根據鍵字符串,存儲一個字符串值
     * 
     * @param key
     * @param value
     * @return 返回提交是否成功
     */
    public boolean putString(String key, String value) {
        editor.putString(key, value);
        return editor.commit();
    }

    /**
     * 根據key值得到存儲結果,如果沒有找到value就返回null
     * 
     * @param key
     * @return
     */
    public String getString(String key) {
        return prefs.getString(key, null);
    }

    /**
     * 根據鍵字符串,存儲一個字符串值
     * 
     * @param key
     * @param value
     * @return 返回提交是否成功
     */
    public boolean putInt(String key, int value) {
        editor.putInt(key, value);
        return editor.commit();
    }

    /**
     * 根據key值得到存儲結果,如果沒有找到value就返回-1
     * 
     * @param key
     * @return
     */
    public int getInt(String key) {
        return prefs.getInt(key, -1);
    }

    /**
     * 清空數據
     * 
     * @return
     */
    public boolean clear() {
        editor.clear();
        return editor.commit();
    }

    /**
     * 關閉當前對象
     * 
     * @return
     */
    public void close() {
        prefs = null;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章