SharedPreferences类

android.content.SharedPreferences

类概括:

访问和修改由函数getSharedPreferences(String,int)返回的首选项的接口。对于任何特定的首选项集合,所有客户端共享此类的单个实例。

必须通过SharedPreferences.Editor对象修改属性的值,以确保属性值保持一致状态,当提交存储时,起到控制作用。从不同的get方法返回的对象必须被视为不可变。

注意:此类不再支持多线程。

嵌套类

interface

SharedPreferences.Editor 用于修改SharedPreferences对象的接口

interface

SharedPreferences.OnSharedPreferenceChangeListener 此接口定义,当一个首选项属性发生改变,一个回调会被调用。
共有方法

abstract boolean

contains(
String key)

核对是否属性集中包含属性。

abstract
SharedPreferences.Editor

edit()


为这些属性集创建一个新的Editor,通过这个Editor你可以把修改选项集中的数据,并且自动提交这些改变到SharedPreferences对象。

abstract
Map<
String, ?>

getAll()

检索所有属性集中的值

abstract boolean

getBoolean(
String key, boolean defValue)

检索属性集中的布尔值。

abstract float

getFloat(
String key, float defValue)

检索属性集中的float值。

abstract int

getInt(
String key, int defValue)

检索属性集中的int值。

abstract long

getLong(
String key, long defValue)

检索属性集中的long值。

abstract
String

getString(
String key,
String defValue)

检索属性集中的string值。

abstract
Set<
String>

getStringSet(
String key,
Set<
String> defValues)

检索属性集中的string集合值。

abstract void

registerOnSharedPreferenceChangeListener(
SharedPreferences.OnSharedPreferenceChangeListener listener)


注册一个当属性值改变时调用的回调函数。

abstract void

unregisterOnSharedPreferenceChangeListener(
SharedPreferences.OnSharedPreferenceChangeListener listener)

注销一个原先的回调函数。

使用共享的配置(Preferences)

SharedPreferences类提供了一个通用的框架,用于保存和检索以持久化的键值对形式存储的原始数据类型。你可以使用SharedPreferences保存任意类型的原始数据:布尔(boolean),浮点(float),整型(int),长整型(long)和字符串(string)。这些数据将会存放在用户会话中(即使你的应用程序已经退出)。

为了获得SharedPreferences对象,可以使用下面的两种方法中的一种:

  1. getSharedPreferences()方法,当需要多个由第一个参数指定名称属性文件;
  2. getPreferences()方法,如果Activity仅仅需要一个属性文件。因为可能Acitivity仅仅有一个属性文件,所以不需要名称区别。

写属性值:

  1. 调用 edit() ,取得SharedPreferences.Editor
  2. 使用例如 putBoolean()putString()方法添加值;
  3. 使用 commit() 函数提交新值。

读属性值,可以使用 SharedPreferences 类的方法,例如 getBoolean()getString()

下面是一个使用无声的按键保存属性的例子:

public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile"; @Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . . // Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
} @Override
protected void onStop(){
super.onStop(); // We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode); // Commit the edits!
editor.commit();
}
}

Android学习之SharedPreferences类的更多相关文章

  1. Android学习总结——SharedPreferences

    SharePreferences存储方式,只是轻量级数据存储,xml格式的数据显示方式.简单存储步骤如下:一:获取SharePreferences对象1.SharedPreferences pref ...

  2. Android学习之SharedPreferences

    SharedPreferences使用键值对的方式来存储数据,并支持多种不同类型的数据存储. 1.界面布局 <TableLayout xmlns:android="http://sch ...

  3. Android学习笔记Log类输出日志信息

    Log类提供的方法 代码示例 .. Log.e(TAG,"[错误信息]"); Log.w(TAG,"[警告信息]"); Log.i(TAG,"[普通信 ...

  4. 【Android】19.1 SharedPreferences类

    分类:C#.Android.VS2015: 创建日期:2016-03-05 一.简介 SharedPreferences:简单共享存储首选项.实际上就是用加密的内部文件保存所有页面都能访问的一系列“n ...

  5. Android 中替代 sharedpreferences 工具类的实现

    Android 中替代 sharedpreferences 工具类的实现 背景 想必大家一定用过 sharedpreferences 吧!就我个人而言,特别讨厌每次 put 完数据还要 commit. ...

  6. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

  7. Android学习笔记_8_使用SharedPreferences存储数据

    1.SharedPreferences介绍: Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数.使用SharedPrefer ...

  8. 【转】Pro Android学习笔记(十四):用户界面和控制(2):Text类控制

    目录(?)[-] TextView 例子1在XML中设置autoLink属性 例子2在代码中设置autoLink属性 EditText AutoCompleteTextView MultiAutoCo ...

  9. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

随机推荐

  1. ZOJ 1136 Multiple (BFS)

    Multiple Time Limit: 10 Seconds      Memory Limit: 32768 KB a program that, given a natural number N ...

  2. ZOJ3516 (图的遍历)

    Tree of Three Time Limit: 2 Seconds      Memory Limit: 65536 KB Now we have a tree and some queries ...

  3. Java中的native方法

    博客引用地址:Java中的native方法 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地 ...

  4. RMAN传输表空间迁移数据

    实验环境: 源数据库:oracle 10g(Release 10.2.0.1.0) 目标数据库:oracle 10g(Release 10.2.0.1.0) 待传输的表空间:TEST 1.在tes ...

  5. 【剑指offer】Q40:数组中出现一次的数

    书里面关于分类的推断有些麻烦,通过某一位为0为1来对数组元素进行分类.假如第3位为1.那么也就是元素x & 8 等于或不等于0,所以不是必需非的用第几位去推断. def once(array) ...

  6. SQL*Plus break与compute的简单用法

    SQL*Plus break与compute的简单用法在SQL*Plus提示符下输出求和报表,我们可以借助break与compute两个命令来实现.这个两个命令简单易用,可满足日常需求,其实质也相当于 ...

  7. NET基础课--JIT编译器如何工作1

    1..Net运行时调用JIT编译器,用来把由C#编译器生成的IL指令编译成机器代码.这一任务在应用程序的运行期间是分步进行的.JIT并不是在程序一开始就编译整个应用程序,取而代之的是,CLR是一个函数 ...

  8. 如何改变word修订模型下的视图

    在Word中执行与Find.Range等相关的操作时,需对修订模式下的文档进行特殊处理. 核心知识点 Word中的 RevisionsView 属性只有两种设置:显示标记的最终状态(Final Sho ...

  9. WebService应用一例,带有安全验证

    1.创建WEB项目,添加WEB服务WebService1.asmx,代码如下: using System; using System.Collections.Generic; using System ...

  10. Oracle 11g完全卸载(Windows)(转)

    Oracle 11g完全卸载(Windows) 1.关闭oracle所有的服务.可以在windows的服务管理器中关闭:    一般有以下服务:   (1)Oracle SID VSS Writer ...