Android开发,共享数据SharedPreferences的使用,用于存储数据和状态的方法

来源:互联网 发布:sql存储过程输出参数 编辑:程序博客网 时间:2024/05/01 15:48

Android用于存储数据的方式有5种,像SharedPreferences,Sqlite等

其中共享数据SharedPreferences是比较常用的(至少我觉得哈,因为我就常用=。=)

SharedPreferences的使用方式比较简单

先创建SharedPreferences变量

public SharedPreferences account;

再初始化account

account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);
前面的INFO.SHARED_ACCOUNT是共享数据存储文件的名称,您改成“er gou zi”也是可以的

后面的0x8000是共享数据的存储方式,本来因该是

MODE_PRIVATE

MODE_APPEND

MODE_WORLD_READABLE

MODE_WORLD_WRITEABLE

这样的形式

但是。。。。。我的怪癖好让我把这个整成了一个工具类,所以只能用数字来代替,因为这些方式的格式本就是int类型的

0x8000指的是APPEND这个

然后。。。

铛铛,建工具类吧少年

public class SaveData_Util {public SharedPreferences account;/** * 存储数据 */public void SetData_String(Context context, String key, String value) {account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);account.edit().putString(key, value).commit();}public void SetData_Int(Context context, String key, int value) {account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);account.edit().putInt(key, value).commit();}public void SetData_Bool(Context context, String key, boolean value) {account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);account.edit().putBoolean(key, value).commit();}/** * 获取数据 */public String GetData_String(Context context, String key) {account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);return account.getString(key, "");}public int GetData_Int(Context context, String key) {account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);return account.getInt(key, 0);}public boolean GetData_Bool(Context context, String key, boolean defaultvalue) {account = context.getSharedPreferences(INFO.SHARED_ACCOUNT, 0x8000);return account.getBoolean(key, defaultvalue);}/** * 清除数据 */public void ClearData(Context context) {//要怎么清理就看你们自己了}}

这个工具类我使用了get和set的方式,即写入共享数据和读取共享数据

包括了存取int、String、boolean三种类型的方法


然后,就是调用了,先初始化:

private SaveData_Util data_util = new SaveData_Util();

调用:

data_util.SetData_String(getApplicationContext(), "username", "Stanny_Bing");
data_util.GetData_String(getApplicationContext(), "islogin","");

其他类型方式相同


另外,方便一些对工具类怪癖深恶痛绝的朋友,另外写一下SharedPreferences的使用

初始化已经写了。

写入数据的时候,

account.edit().putString("","").commit();
这是比较简单的。

还可以这样:

Editer editer = account.edit();editer.putString("","");editer.commit();
注意commit()一定要写,不然就是没有提交,不然你用了之后发现我是个骗纸。

No!


0 0
原创粉丝点击