博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【存储方式】SharedPreference
阅读量:6944 次
发布时间:2019-06-27

本文共 2856 字,大约阅读时间需要 9 分钟。

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文件内容格式  
XXX

 

 

/** 读取数据 */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", "姓名为空"));

 

 

 

转载地址:http://fvanl.baihongyu.com/

你可能感兴趣的文章
挖一口井最好的时间除了十年前就是现在
查看>>
C# 文件操作类
查看>>
Google App Engine
查看>>
只需轻松四句话,5分评分轻而易举
查看>>
POJ2528Mayor's posters[线段树 离散化]
查看>>
python爬虫系列:做一个简单的动态代理池
查看>>
MVC应用程序请求密码的功能(二)
查看>>
nginx 多级代理
查看>>
程序员开发必备工具清单列表
查看>>
小米、KKTV为互联网电视品牌争气了!
查看>>
这样的节奏最摇摆,荣耀V9的618嗨翻各大平台
查看>>
京东超市与雀巢母婴达成战略合作,共推母婴教育平台
查看>>
被安排得明明白白!论邀请函的套路只服魅族
查看>>
2019年企业云呈现五大技术发展趋势!
查看>>
漂洋过海,与Splunk第一次近距离接触!
查看>>
华为布局智能家居野心明天,华为路由成生态链核心
查看>>
反向春运成时尚:家人团聚就是年
查看>>
联合国减灾办公室:2018年极端天气影响全球6000多万人
查看>>
骆文智当选深圳市人大常委会主任
查看>>
北京大兴国际机场迎来首架校验飞机
查看>>