【存储方式】SharedPreference

SharedPreference是Android中存储简单数据的一个工具类。可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean,int,float,long,String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。

SharedPreferences接口的常用方法

NO

方法

类型

描述

 1

public abstract SharedPreferences.Editor edit()

普通

使其处于可编辑状态

 2

public abstract boolean contains(String key)

普通

判断某一个key是否存在

 3

public abstract Map<String, > getAll()

普通

取出全部的数据

 4

public abstract boolean getBoolean(String key, boolean defValue)

普通

取出boolean型数据,并指定默认值

 5

public abstract float getFloat(String key,float  defValue)

普通

取出float型数据,并指定默认值

 6

public abstract int getInt(String key,int defValue)

普通

取出int型数据,并指定默认值

 7

public abstract long getLong(String key,long defValue)

普通

取出long型数据,并指定默认值

 8

public abstract String getString (String

          key,String defValue)

普通

取出String型数据,并指定默认值

 SharedPreferences.Editor接口

 如果现在要想进行数据的写入,则必须首先通过SharedPreferences类所提供的edit()方法

   才可以让其处于可编辑的操作状态,此方法返回的对象类型是android.content.

   SharedPreferences.Editor接口实例。

SharedPreferences.Editor接口的常用方法

NO

方法

类型

描述

1

public abstract SharedPreferences.Editor clear()

普通

清除所有的数据

2

public abstract boolean commit()

普通

提交更新的数据

3

public abstract SharedPreferences.Editor

    putBoolean(String key, boolean value)

普通

保存一个boolean型数据

4

public abstract SharedPreferences.Editor 

     putFloat(String key, float value)

普通

保存一个float型数据

5

public abstract SharedPreferences.Editor

putInt(String key, int value)

普通

保存一个Int型数据

6

public abstract SharedPreferences.Editor

     putLong(String key, long value)

普通

保存一个Long型数据

7

public abstract SharedPreferences.Editor

     putString(String key, String value)

普通

保存一个String型数据

8

public abstract SharedPreferences.Editor

      remove(String key)

普通

删除指定key的数据

Activity类对SharedPreferences接口的支持

 由于SharedPreferencesSharedPreferences.Editor两个都是接口,所以要想取得

   SharedPreferences接口的实例化对象,还需要Activity类中的几个常量和方法的支持

No

常量及方法

类型

描述

1

public static final int MODE_PRIVATE

常量

创建的文件只能被一个应用程序调用,或被具有相同id的应用程序访问

2

public static final int

    MODE_WORLD_READABLE

常量

允许其他应用程序读取文件

3

public static final int

    MODE_WORLD_WRITEABLE

常量

允许其他应用程序修改文件

4

public SharedPreferences

getSharedPreferences(

     String name,int mode)

常量

指定保存操作的文件名称,同时指定操作的模式,可以是0

MODE_PRIVATE

MODE_WORLD_READABLE

MODE_WORLD_WRITEABLE

它提供一种轻量级的数据存储方式,通过edit()方法来修改里面的内容,通过Commit()来提交修改后的内容。

private static final String FILENAME = "duanran";
private TextView tv_id = null;
private TextView tv_name = null;


/** 写入数据 */
SharedPreferences shared = super.getSharedPreferences(FILENAME, MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
//editor.remove("id");
//editor.remove("name");
editor.putInt("id", 001);
editor.putString("name", "张三");
editor.commit(); 
//生成的xxx.xml文件内容格式
<map>
<id name="id">XXX</id>
<string name="name" value="张三">
</map>

 

/** 读取数据 */
SharedPreferences read_shared = super.getSharedPreferences(
    FILENAME, Activity.MODE_PRIVATE);
this.tv_id.setText("ID:" + read_shared.getInt("id", 0));
this.tv_name.setText("姓名:" + read_shared.getString("name", "姓名为空"));

 

原文地址:https://www.cnblogs.com/androidsj/p/2379044.html