Android五大存储方式之三——SharedPreferences
来源:互联网 发布:矩阵式项目组织形式 编辑:程序博客网 时间:2024/05/29 13:47
SharedPreferences简介
SharedPreferences是Android平台上一个轻量级的存储类,主要用于存储一些应用程序的配置参数,例如用户名、密码、自定义参数的设置等。SharedPreferences中存储的数据是以key/value键值对的形式保存在XML文件中,该文件位于data/data//shared_prefs文件夹中。需要注意的是,SharedPreferences中的value值只能是float、int、long、boolean、String、StringSet类型数据。
使用SharedPreferences类存储数据时,首先需要通过context.getSharedPreferences(String name,int mode)获取SharedPreferences的实例对象(在Activity中可以直接使用this代表上下文,如果不是在Activity中则需要传入一个Context对象获取上下文),示例代码如下:
SharedPreferences sp = context.getSharedPreferences(String name,int mode);
上述代码中,name表示文件名,mode表示文件操作模式。
SharedPreferences 的使用
SharedPreferences提供了一系列方法由于获取应用程序中的数据(将在下面的实例程序中使用)。需要注意的是,SharedPreferences对象本身只能获取数据,并不支持数据的存储和修改。
数据的存储和修改需要通过SharedPreferences.Editor对象实现。
存入数据
使用SharedPreferences存储数据是,需要先获取SharedPreferences对象,通过该对象获取到Editor对象,然后通过Editor对象的相关方法存储数据,具体代码如下:
SharedPreferences sp = getSharedPreferences("data",MODE_PRIVATE);//data表示文件名Editor editor = sp.edit(); //获取编辑器editor.putString("name","book"); //存入String类型数据editor.putInt("age",8); //存入int类型数据editor.commit(); //提交修改
获取数据
SharedPreferences获取数据时比较简单,只需要创建SharedPreferences对象,然后使用该对象获取相应key的值即可,具体代码如下:
SharedPreferences sp = context.getSharedPreferences();String data = sp.getString("name",""); //获取用户名
删除数据
SharedPreferences删除数据时与存储数据类似,同样需要先获取到Editor对象,然后通过该对象删除数据,最后提交,具体代码如下:
SharedPreferences sp = context.getSharedPreferences();Editor editor = sp.edit(); editor.remove("name"); //删除一条数据editor.clear(); //删除所有数据editor.commit(); //提交修改
注意!!
- SharedPreferences存入和删除数据时,一定要在最后使用editor.commit()方法提交数据。
- 获取数据的key值与存入数据的key值的数据类型要一致,否则查找不到数据。
- 保存SharedPreferences的key值时,可以用静态变量保存,以免存储、删除时写错了,如:private static final String key = “itcast”;。
示例——保存QQ号码和密码
使用SharedPreferences存储数据是一个比较独立的模块,因此,建立一个单独的类,用于实现QQ号码和密码的存储与获取功能。
public class Utils{//保存QQ号码和登录密码到data.xml文件中 public static boolean saveUserInfo(Context context,String number,String password){ SharedPreferences sp = getSharedPreferences("data",Context.MODE_PRIVATE); Editor edit = sp.edit(); edit.putString("userName",number); edit.putString("pwd",password); edit.commit(); return true; }//从data.xml文件中获取存储的QQ号码和密码 public static Map<String,String> getUserInfo(Context context) { SharedPreferences sp = getSharedPreferences("data",Context.MODE_PRIVATE); String number = sp.getString("userNmae",null); String password = sp.getString("psw",null); Map<String,String> userMap = new HashMap<String,String>(); userMap.put("number,number); userMap.put("password",password); return userMap; }}
- Android五大存储方式之三——SharedPreferences
- Android五大存储方式——详解SharedPreferences
- 【android】7、五大存储之SharedPreferences
- Android五大存储---SharedPreferences
- android 五种存储方式——SharedPreferences
- Android五大存储方式之四——ContentProvider
- 三大存储方式之一:SharedPreferences 存储
- Android的五大存储方式:SharedPreferences、内部存储、外部存储、SQLite和网络存储
- android学习笔记之——存储方式之SharedPreferences
- android存储方式之SharedPreferences
- Android存储方式之SharedPreferences
- 传智播客—Android(三) 数据存储之二 SharedPreferences
- Android——SharedPreferences存储数据方式
- Android开发之五大存储方式之一数据库存储
- Android五大存储方式之File文件存储
- Android中的五大存储方式之二——SQLite数据库
- Android存储五大方式
- Android数据存储方式之SharedPreferences
- emap打开报错
- MD5/DES/AES加密实现
- C++编译与链接(1)-编译与链接过程
- HDU5997-rausen loves cakes-树状数组+模拟
- Git常用命令汇总
- Android五大存储方式之三——SharedPreferences
- 20 个顶尖的 Python 机器学习开源项目
- 【C++11】新特性——auto的使用
- Java对象加载(初始化)顺序
- SQL语句结构
- poj 2155 二维树状数组 二维线段树
- ehCache集群JGroups方式配置
- Java 多线程 生产者和消费者 队列
- DrawerLayout的简单用法