Preference提供了一种轻量级的数据存取方法,主要是数据比较少的配置信息。它以键值对的方式将数据保存在一个XML配置文件中。

  使用Preference方式来存取数据,用到了SharedPreferences接口和SharedPreferences的一个内部接口SharedPreferences.Editor。

  调用Context.getSharedPreferences(String name, int mode)得到SharedPreferences接口,name是XML文件名称,mode是打开方式(MODE_PRIVATE(私有),MODE_WORLD_READABLE(可读),MODE_WORLD_WRITEABLE(可写))。

  SharePreferences提供了获取不同类型数据的方法,getT(String key, T defValue)(这里T代表数据类型),key为键名称,defValue为默认值。调用SharePreferences的edit()方法来获得SharedPreferences.Editor内部接口,该接口提供提供了保存数据的方法,putT(String key, T value),然后调用commit()方法将数据保存。

SharePreferences接口的常用方法如下:

方法名称 方法描述
edit() 返回SharedPreferences的内部接口SharedPreferences.Editor
cantains(String key) 判断是否包含该键值
getAll() 返回所有配置信息Map
getT(String key, T defValue) 获取一个T值,T为基本类型,T可被替换为“Boolean”,“Float”,“Int”,“Long”或“String”。

SharePreferences.Editor接口的常用方法如下:

方法名称 方法描述
clear() 清除所有值
commit() 保存
getAll() 返回所有配置信息Map
putT(String key, T value) 保存一个T值
remove(String key) 删除该键对应的值

EG:

//获取值
String programset = "PROGRAMSET";
SharedPreferences pre = getContext().getSharedPreferences(programset,MODE_WORLD_READABLE);
String message = pre.getString("MESSAGE",""); //保存值
String programset = "PROGRAMSET";
SharedPreferences.Editor editor = getContext().getSharedPreferences(programset,MODE_WORLD_READABLE).edit();
editor.putString("MESSAGE","HELLO WORLD");
deitor.commit();

被保存的数据作文XML文件被保存到了/data/data/package/shared_prefs/下面了。

Android存储机制之Preference的更多相关文章

  1. (转)Android消息处理机制(Handler、Looper、MessageQueue与Message)

    转自 http://www.cnblogs.com/angeldevil/p/3340644.html Android消息处理机制(Handler.Looper.MessageQueue与Messag ...

  2. Android消息机制

    每一个Android应用在启动的时候都会创建一个线程,这个线程被称为主线程或者UI线程,Android应用的所有操作默认都会运行在这个线程中. 但是当我们想要进行数据请求,图片下载,或者其他耗时操作时 ...

  3. 理解Android安全机制

    本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案. 1.Android系统架构 Android采用分层的系统 ...

  4. 【Android 开发】: Android 消息处理机制之一: Handler 与 Message

    最近几讲内容,我们学习了Android中关于多线程的一些知识,上一讲我们讲解了异步任务 AsyncTask 的操作,Android中还提供了其他的线程操作,如Handler Message Messa ...

  5. ios开发之数据的持久化存储机制

    IOS中数据的持久化保存这块内容,类似于Android中文件的几种常见的存储方式. 对于数据的持久化存储,ios中一般提供了4种不同的机制. 1.属性列表 2.对象归档 3.数据库存储(SQLite3 ...

  6. Android架构分析之Android消息处理机制(二)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...

  7. HTML5分析实战Web存储机制(Web Storage)

    Web Storage它是Key-Value在持久性数据存储的形式.Web Storage为了克服cookie把所引起的一些限制.当数据需要严格格控制client准时,没有必要不断地发回数据serve ...

  8. Android开发之漫漫长途 ⅥI——Android消息机制(Looper Handler MessageQueue Message)

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  9. Android群英传笔记——第七章:Android动画机制和使用技巧

    Android群英传笔记--第七章:Android动画机制和使用技巧 想来,最 近忙的不可开交,都把看书给冷落了,还有好几本没有看完呢,速度得加快了 今天看了第七章,Android动画效果一直是人家中 ...

随机推荐

  1. 剑指Offer30 从1到n整数出现1的个数

    /************************************************************************* > File Name: 30_NumerO ...

  2. hdu 4115 2-SAT判定

    思路:将每个回合的平手和赢最为一对对立状态.那么后面就是2-SAT判断了. #include<iostream> #include<cstdio> #include<al ...

  3. js解析xml,获取XMl标签属性值

    <script type="text/javascript"> var xml="<?xml version=\"1.0\" enc ...

  4. html5+css3第一屏滚屏动画效果

    详细内容请点击 在线预览立即下载 html5+css3第一屏滚屏动画效果. 转载自:http://tympanus.net/codrops/2014/05/22/inspiration-for-art ...

  5. Part 100 Func delegate in c#

    What is Func<T,TResult> in C#? In simple terms,Func<T,TResult> is just generic delegate. ...

  6. Sql中判断"库、表、列,视图,存储过程"是否存在

    --判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER.sys.sysdatabases WHERE NAME = '库名') PRINT 'exists ' else ...

  7. oracle发送邮件

    1.创建发送邮件的存储过程 CREATE OR REPLACE PROCEDURE send_mail(p_recipient VARCHAR2, -- 邮件接收人 p_subject VARCHAR ...

  8. iOS-GCD多线程

    GCD GCD -- Grand Central Dispatch 是基于C语言的底层API 用Block定义任务,将任务添加到线程中使用.集中管理 1.GCD的执行函数 //同步 dispatch_ ...

  9. JAVA:IO流——File类

    1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...

  10. 分享8款最新HTML5/CSS3功能插件及源码下载

    1.HTML5/CSS3鬼脸表情下拉菜单 超级可爱 这款HTML5/CSS3鬼脸表情下拉菜单真的很特别,虽然菜单的实现并没有利用复杂的HTML5/CSS3技术,但是创意的确不错. 在线演示 源码下载 ...