SharedPreferences使用详解

在android中有五种存储数据的方式

1 使用SharedPreferences存储数据

2 文件存储数据

3 SQLite数据库存储数据

4 使用ContentProvider存储数据

5 网络存储数据

在做手机配置项数据的存储时,我们一般使用第一种方式:

 

我们可以有两种获取SharedPreferences的方式:

1 调用Context对象的getSharedPreferences()方法:

调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.

2 调用Activity对象的getPreferences()方法:

调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

SharedPreferences有四种操作模式,分别为

Context.MODE_PRIVATE:该模式为默认操作模式,该模式下文件是私有数据,只能被应用本身访问,写入的内容会覆盖原文件的内容

MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.

MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

Context.MODE_APPEND:该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

保存数据可使用Editor对象进行操作

将数据保存至SharedPreferences:

SharedPreferences preferences=getSharedPreferences("config",Context.MODE_PRIVATE);

Editor editor=preferences.edit();

String xxx="xxx";

String xx="xx";

采用key/value方式进行保存

editor.putString("xxx", xxx);

editor.putString("xx", xx);

最后记得要提交事务,否则操作将不被执行

editor.commit();

从SharedPreferences获取数据:

SharedPreferences preferences=getSharedPreferences("config", Context.MODE_PRIVATE);

String xxx=preferences.getString("xxx", "默认值");

String xx=preferences.getString("xx", "默认值");

时间: 2024-08-21 19:04:20

SharedPreferences使用详解的相关文章

android开发中SharedPreferences用法详解(含源代码和运行结果截图)

在Android应用程序开发中,经常需要保存一些类似于配置信息的简单类型数据,比如游戏玩家的积分.是否开启音效等.SharedPreferences类为我们保存.读取这些数据提供了便利. SharedPreferences接口提供以下常用方法来访问SharedPreferences对象中的key-value对: boolean contains(String key):判断SharedPreferences对象是否包含键值为key的数据. boolean getXxx(String key, x

Android中SharedPreferences函数详解

Android平台提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,比如boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package name>/shared_prefs. 获取SharedPreferences的两种方式: (1)调用Context对象的getSharedPreferenc

SharedPreferences存储详解

将数据存储到SharedPreferences中: getSharedPreferences(文件名, 文件的操作模式); MODE_PRIVATE:只有当前的应用程序才可以对这个SharedPreferences文件进行读写 MODE_MULTI_PROCESS:一般是用于会有多个进程中对同一个SharedPreferences文件进行读写的情况 得到SharedPreferences对象后,开始向SharedPreferences文件中存储数据,主要分为三步实现: 1.      调用Sha

SharedPreferences详解(一)——基础知识

我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在window下通常我们会采用ini文件进行保存.如果是J2EE下面,我们会采用properties属性文件或者xml进行保存.在我们的Android应用中又适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,比如bool

Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)

最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所帮助. 首先按照惯例先来简单了解一些AsyncHttpClient网络框架的一些知识. 1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-a

Android Preference存储、res/raw、asset、openFileOutput、sdcard存储、Cache详解

*res/raw.assets.其它存储的相同点: 两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. 两者都是只读,是不能存储数据的目录. 相同都可以放文件. *res/raw.assets.其它存储的不同点: res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类. res/raw不可以有目录结构,而assets则可以有目

Android进阶——Preference详解之Preference系的基本应用(三)

引言 前面一篇文章Android进阶--Preference详解之Preference系的基本应用和管理(二)介绍了二级Preference的使用和特点,接下来进入系统给我提供的底级Preference的使用CheckBox选择项CheckBoxPreference.EditText编辑对话框EditTextPreference.列表选择ListPreference.多项选择MultiSelectListPreference. 开关选择SwitchPreference的应用和管理.以期大家能在学

Android中Context详解 ---- 你所不知道的Context

转载至 :http://blog.csdn.net/qinjuning 前言:本文是我读<Android内核剖析>第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书. 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 因为我们真正的不懂Context

Android中Context详解 ---- 你所不知道的Context (转载)

Android中Context详解 ---- 你所不知道的Context (转载) http://blog.csdn.net/qinjuning 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 因为我们真正的不懂Context的原理.类结构关系.一个简单的问题是,一个应用