我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在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");

SharedPreferences详解相关推荐

  1. Android:SharedPreferences详解+示例

    为什么80%的码农都做不了架构师?>>> 一.简介 SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储 ...

  2. Android之SharedPreferences详解

    SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...

  3. Android SharedPreferences 详解 源码解析

    1.实现类 SharedPreferences 只是一个接口,其实现类是SharedPreferencesImpl. 工作流程分析: 创建sp 的时候,会去查看是否有bak文件,如果有的话,把bak文 ...

  4. SharedPreferences详解(存储、读取及代码)

    SharedPreferences是通过键值对的方式来存储数据的.每当保存一条新的数据时需要给数据一个对应的键值,所以当要调用数据时就可以通过键值来调用数据. SharedPreferences支持多 ...

  5. android sharedpre,Android SharedPreferences四种操作模式使用详解_Android_脚本之家

    Android  SharedPreferences详解 获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Ac ...

  6. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  7. android最全面试题71道题 详解

    Android面试题 1. 下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D ...

  8. Android 开发 存储目录的详解

    Android 开发 存储目录的详解 简介 Android设备,有3个地方的文件存储位置,他们分别是: 内部存储空间(用户无法浏览到此目录) 外部存储空间(就是手机自身的文件管理目录,用户可以浏览) ...

  9. 详解 Android 的 Activity 组件

    本文详细介绍了 Android 应用编程中 Activity 的生命周期.通信方式和 Intent Filter 等内容,并提供了一些日常开发中经常用到的关于 Activity 的技巧和方法.通过本文 ...

最新文章

  1. 设计模式详解(总纲)
  2. mysql 1418 错误原因及解决
  3. 深入理解 Session 与 Cookie
  4. easyui是否容易上手_特色家常菜-清蒸桂鱼,肉质鲜嫩有营养,做法简单容易学...
  5. Coursera自动驾驶课程第3讲:Self-Driving Hardware and Software Architectures
  6. ConcurrentHashMap1.7和1.8的源码分析比较
  7. java中switch、while、do...while、for
  8. 台达plc ec3程序下载通讯设置_【台达PLC】入门这样学!基础详解!
  9. 大疆精灵 4 Pro V2.0功能特点
  10. Not_flushed_delayed_rows
  11. 网站拒绝了你的请求服务器,服务器拒绝你的发送请求 - 卡饭网
  12. 关于最近网上谣言传的很凶的 “太吾绘卷” 游戏源代码的问题。
  13. python字母对照表_Python中的字母范围
  14. 微信注册崩溃?appid签名无法注册or如何查看签名是否一致?如何注册appid?jks和keystore的区别?
  15. PAT B1033旧键盘打字
  16. 超链接一般有两种表现形式_超链接有哪几种类型,各有什么作用
  17. DDR3的学习笔记(一)
  18. KEIL MDK RTX 实时操作系统
  19. 腰椎间盘突出伴马尾神经损伤患者不适合做哪些运动?
  20. 通达信交易接口可以设定自动止盈止损吗?

热门文章

  1. wordpress后台无法登录问题
  2. p批处理替换目录下文本中的字符串
  3. 二分排序java实现
  4. javascript OOP(下)(九)
  5. IOS沙盒中的Documents、Library、tmp区别
  6. 工作中影响提高的一些想法
  7. k8s边缘节点_边缘计算,如何啃下集群管理这块硬骨头?
  8. 参加技术培训前的辅导,选得对,学得好
  9. impdp导入dmp文件ORA-39088: 文件名不能包含路径说明ORA-39001: 参数值无效ORA-39000: 转储文件说明错误
  10. sc openscmanager 失败 5 mysql_如何增加windows服务