共享一個SharedPreferences儲存工具類
阿新 • • 發佈:2018-12-18
package ***.utils; import android.content.Context; import android.content.SharedPreferences; /** * date : 2017/8/7 * author : bianyaoyao * Description :SharedPreferences儲存工具類 */ public class PrefUtils { private static String name = "Config"; public static void putBoolean(Context ctx, String key, boolean value) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); sp.edit().putBoolean(key, value).commit(); } public static boolean getBoolean(Context ctx, String key, boolean defValue) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); return sp.getBoolean(key, defValue); } public static void putString(Context ctx, String key, String value) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); sp.edit().putString(key, value).commit(); } public static String getString(Context ctx, String key, String defValue) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); return sp.getString(key, defValue); } public static void putInt(Context ctx, String key, int value) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); sp.edit().putInt(key, value).commit(); } public static int getInt(Context ctx, String key, int defValue) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); return sp.getInt(key, defValue); } //刪除某個鍵值對 public static void remove(Context ctx, String key) { SharedPreferences sp = ctx.getSharedPreferences(name, Context.MODE_PRIVATE); sp.edit().remove(key).commit(); } }
關於mode引數 一般都取MODE_PRIVATE,這裡的MODE_PRIVATE 和openFileOutput方法裡的MODE_PRIVATE 是一個意思。官方已經廢除了MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 這兩個引數意思分別是允許其他應用讀取和寫入我們的sharedPreferences,官方也是為使用者的安全著想
使用: PrefUtils.putString(LoginActivity.this, "id", "21u34445555"); PrefUtils.getString(LoginActivity.this, "id", "");
當然,上面的String 型別的id 欄位可以新建一個檔案 ,避免字串過長拼寫錯誤引起的尷尬問題
public interface GlobalConstants {
String PREF_ID = "id";
}
PrefUtils.getString(LoginActivity.this, GlobalConstants.PREF_ID, "");