SharedPreferences存储使用

来源:互联网 发布:握奇数据 编辑:程序博客网 时间:2024/04/29 20:32

适用于保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值

存储方式:key-value键值对

数据文件总保存在/data/data/<package name>/shared_prefs目录下面

SharedPreferences本身是一个接口,我们直接创建SharedPreferences实例,只能通过Context来进行获取

SharedPreferences preferences = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
其中FILE_NAME为自己定义的保存文件名,

Context.MODE_PRIVATE则是对SharedPreferences操作权限的一个设置:

Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。
Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写。
Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读,写


Editor有如下主要重要方法:
SharedPreferences.Editor clear():清空SharedPreferences里所有数据
SharedPreferences.Editor putXxx(String key , xxx value): 向SharedPreferences存入指定key对应的数据,其中xxx 可以是boolean,float,int等各种基本类型
SharedPreferences.Editor remove(): 删除SharedPreferences中指定key对应的数据项
boolean commit(): 当Editor编辑完成后,使用该方法提交修改


下面看看具体的使用:

//获取实例private static SharedPreferences getSharedPreferences(Context context){SharedPreferences preferences = context.getSharedPreferences(PREFENRENCE_FILE, Context.MODE_PRIVATE);return preferences;}//存放String数据public static void putString(Context context, String key, String value){SharedPreferences preferences = getSharedPreferences(context);preferences.edit().putString(key, value).commit();}//获取String数据public static String getString(Context context, String key, String defaultVlaue){SharedPreferences preferences = getSharedPreferences(context);return preferences.getString(key, "default");}//存放Boolean数据public static void putBoolean(Context context, String key, boolean value){SharedPreferences preferences = getSharedPreferences(context);preferences.edit().putBoolean(key, value).commit();}//获取Boolean数据public static boolean getBoolean(Context context, String key, boolean defaultVlaue){SharedPreferences preferences = getSharedPreferences(context);return preferences.getBoolean(key, defaultVlaue);}//存放int数据public static void putInt(Context context, String key, int value){SharedPreferences preferences = getSharedPreferences(context);preferences.edit().putInt(key, value).commit();}//获取int数据public static int getInt(Context context, String key, int defaultVlaue){SharedPreferences preferences = getSharedPreferences(context);return preferences.getInt(key, defaultVlaue);}//存放Double数据public static void putDouble(Context context, String key, double value){putString(context, key, String.valueOf(value));}//获取Double数据public static double getDouble(Context context, String key, double defaultVlaue){return Double.valueOf(getString(context, key, String.valueOf(defaultVlaue)));}







0 0
原创粉丝点击