Android学习历程11-SharedPreferences介绍
来源:互联网 发布:159素食全餐淘宝好便宜 编辑:程序博客网 时间:2024/06/11 05:16
软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的效率,因此我们使用键值这种一一对应的关系来存放这些配置信息。SharedPreferences正是Android中用于实现这中存储方式的技术。
SharedPreferences的使用非常简单,能够轻松的存放数据和读取数据。SharedPreferences只能保存简单类型的数据,例如,String、int等。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下:
获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
SharedPreferences的四种操作模式:
Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.
使用SharedPreferences保存数据方法如下:
//实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences= getSharedPreferences("test", Activity.MODE_PRIVATE); //实例化SharedPreferences.Editor对象(第二步) SharedPreferences.Editor editor = mySharedPreferences.edit(); //用putString的方法保存数据 editor.putString("name", "Karl"); editor.putString("habit", "sleep"); //提交当前数据 editor.commit(); //使用toast信息提示框提示成功写入数据 Toast.makeText(this, "数据成功写入SharedPreferences!" , Toast.LENGTH_LONG).show();
使用SharedPreferences读取数据方法如下:
//同样,在读取SharedPreferences数据前要实例化出一个SharedPreferences对象 SharedPreferencessharedPreferences= getSharedPreferences("test", Activity.MODE_PRIVATE); // 使用getString方法获得value,注意第2个参数是value的默认值 String name =sharedPreferences.getString("name", ""); String habit =sharedPreferences.getString("habit", ""); //使用toast信息提示框显示信息 Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, Toast.LENGTH_LONG).show();
如果不通过创建Context访问其他应用的preference,也可以以读取xml文件方式直接访问其他应用preference对应的xml文件,如:
File xmlFile = new File(“/data/data//shared_prefs/itcast.xml”);//应替换成应用的包名
- Android学习历程11-SharedPreferences介绍
- Android学习历程--sharedpreferences(记住密码的登录案例)
- android SharedPreferences介绍
- android之SharedPreferences介绍
- android SharedPreferences介绍
- Android学习历程3-倒计时类的简单介绍
- Android SharedPreferences 学习总结
- Android学习:SharedPreferences用法
- SharedPreferences---Android学习笔记
- Android学习之SharedPreferences
- Android学习笔记-SharedPreferences
- Android学习笔记-SharedPreferences
- 【android学习】SharedPreferences详解
- android学习---SharedPreferences存储
- Android学习-SharedPreferences
- Android开发--SharedPreferences初步介绍
- android SharedPreferences介绍(一)
- Android中SharedPreferences使用方法介绍
- 【慕课笔记】第七章 方法 第2节 JAVA中无参无返回值方法的使用
- 06 多线程
- UI基础整理-11
- 感知机
- MySQL数据库引擎
- Android学习历程11-SharedPreferences介绍
- mysql5.7 在Mac上的安装
- NFC 读取公交卡信息
- 二叉查找树
- Android使用ViewPager实现图片轮播(高度自适应,左右循环,自动轮播)
- [技术] [插件精选] 炫酷粒子特效(下)
- 【慕课笔记】第七章 方法 第3节 JAVA中无参带返回值方法的使用
- hdu 1728 逃离迷宫
- cell自适应高度