SharedPreferences具体解释(一)——基础知识
我们在开发软件的时候,常须要向用户提供软件參数设置功能,比如我们经常使用的微信,用户能够设置是否同意陌生人加入自己为好友.对于软件配置參数的保存,假设是在window下通常我们会採用ini文件进行保存.假设是J2EE以下,我们会採用properties属性文件或者xml进行保存.在我们的Android应用中又适合採用什么方式保存软件配置參数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置參数,比方boolean,int,float,long,String等数据.使用SharedPreferences保存数据,事实上质是採用了xml文件存放数据,路径为:/data/data/<package
name>/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 preferences=getSharedPreferences("user",Context.MODE_PRIVATE);
Editor editor=preferences.edit();
String name="xixi";
String age="22";
editor.putString("name", name);
editor.putString("age", age);
editor.commit();
从SharedPreferences获取数据:
SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);
String name=preferences.getString("name", "defaultname");
String age=preferences.getString("age", "0");
最新文章
- Maven实战:pom.xml与settings.xml
- 创建或打开解决方案时提示";DotNetCore.1.0.1-SDK.1.0.0.Preview2-003131-x86";错误的解决方案
- MySQL 存储过程
- 修改NavigationBarItem的字体大小和颜色的使用方法
- caffe的python接口学习(8):caffemodel中的参数及特征的抽取
- Python 学习笔记9(装饰器,decorator)
- 重写TiledServiceLayer实现Arcgis访问Mapabc地图服务 (转载)
- delphi基本语法
- PHP-用ThinkPHP和Bootstrap实现用户登录设计
- SQL Server的三种物理连接之Hash Join(三)
- Eclipes中使用BASE64Encoder及BASE64Decoder报错
- java_设计模式_状态模式_State Pattern(2016-08-16)
- JavaIO学习总结一
- php笔记(五)PHP类和对象之对象的高级特性
- Beta冲刺Day4
- 201771010118 马昕璐《面向对象程序设计java》第十二周学习总结
- C++环境设置
- python冒泡排序法
- 剑指offer(29)最小的K个数
- day5_集合