SharedPreferences
其实Android中的SharedPreferences不适合存储那些比较重要的数据
- SharedPreferences只能储存Java基础数据类型
- 在应用当中是数据共享的,没有什么安全性,在内部结构当中是以Map key-Value存在的、
- 最后一点这个东西太简单了,好吧
首先说下SharedPreferences中的数据对应用是透明的,*限查看的形式
我们用到的SharedPreferences用的最多的比如说,存取一些简单的数据,String类型的用户名,不需要隐藏起来的数据等。
来一个例子介绍一下SharedPreferences
SharedPrefereneces sp = getSharedPreferences("sp_demo", MODE_READABLE);
因为SharedPreferences本身是一个接口,所以要启动一个SharedPreferences必须通过Context提供的getSharedPreferences方法,在上面的第二个参数表示的意思是说数据的权限:
Context.MODE_PRIVATE :数据只能被本程序读和写。
Context.MODE_WORLD_READABLE :数据可以被其他程序读取,但是不能被写入
Context.MODE_WORLD_WRITABLE :数据可以被其他程序读、写
再来看下利用SharedPreferences存取数据的方式:
SharedPrefereneces sp = getSharedPreferences("sp_demo", MODE_WORLD_READABLE);
Editor editor = sp.edit();
editor.putString("KEY", "VALUE");
注意,因为SharedPreferences的核心是Map,而Editor里面也有一个Map缓存,而且每次edit()都返回一个Editor对象,所以在使用SharedPreferences的时候必须创建一个Editor对象,然后再利用这个对象来存储数据。
再来说下取数据,对应于putXxx方法,取数据的方法就是简单的getXxx了,提供一个对应的Key就能得到Value
在SharedPreferences中还有几个方法需要说明一下可能会用到:
boolean contains(String key) :用来判断是否包含特定Key的数据
abstract Map<String, ?> getAll() :获取SharedPreferences所有的Key-Value对
还有一个方法慎用:
SharedPreferences.Editor clear() 清楚SharedPreferences内的所有数据!
好了就介绍到这边吧~~~~