文档章节

Android中SharedPreferences用法

ForingY
 ForingY
发布于 2016/07/22 23:56
字数 676
阅读 3
收藏 0
点赞 0
评论 0

1.SharedPreferences简介

为了保存软件的设置参数,Android 平台为我们提供了一个SharedPreferences 类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences 保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs 目录下。

2.获取SharedPreferences对象方法:

SharedPreferences pre = Context.getSharedPreferences(String name,int mode);

注:name为本组件的配置文件名(如果想要与本应用程序的其他组件共享此配置文件,可以用这个名字来检索到这个配置文件,在这里要特别注意,因为在Android 中已经确定了SharedPreferences 是以xml形式保存,所以,在填写文件名参数时,不要给定“.xml”后缀,android会自动添加。只要直接写上文件名即可。它会直接被保存在/data/data/<package name>/shared_prefs路径下,它是采用键值对的形式保存参数。当你需要获得某个参数值时,按照参数的键索引即可)。

SharedPreferences pre = Activity.getPreferences(int mode);

注:配置文件仅可以被调用的Activity使用。mode为操作模式,默认的模式为0或MODE_PRIVATE,还可以使用MODE_APPEND、MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。

SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(Context);

注:每个应用都有一个默认的配置文件preferences.xml,使用getDefaultSharedPreferences获取。

3.SharedPreferences使用步骤:

SharedPreferences使用非常简单,能够轻松地存放数据和读取数据。SharedPreferences只能保存简单类型的数据,例如:String、int等。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在XML文件中,再用SharedPreferences保存。

使用SharedPreferences保存key-value对的步骤如下:

1)获得SharedPreferences对象

2)获得SharedPreferences.Editor对象。

3)通过SharedPreferences.Editor接口的putXxx()方法存放key-value对(其中Xxx表示不同的数据类型。如:字符串类型的value需要用putString()方法)。

4)通过SharedPreferences.Editor接口的commit()方法保存key-value对(commit方法相当于数据库事务中的提交(commit)操作)。

4.存储数据和读取数据的流程:

存储数据信息

1)打开名为configuration的配置文件,如果存在则打开它,否则创建新的名为configuration的配置文件

SharedPreferences sharedPreferences = getSharedPreferences("configuration", 0);

2)让sharedPreferences处于编辑状态

SharedPreferences.Editor editor = sharedPreferences.edit();

3)存放数据

editor.putString("name","harvey");

4)完成提交

editor.commit();

读取数据信息

1)打开名为configuration的配置文件

SharedPreferences sharedPreferences = getSharedPreferences("configuration", 0);

2)获取数据

String name = sharedPreferences.getString("name","默认值");

以上就是Android中SharedPreferences的使用方法,其中创建的配置文件存放位置可以在Eclipse中查看:

DDMS --- File Explorer --- data/data/<package name>/shared_prefs/configuration.xml

本文转载自:

共有 人打赏支持
ForingY
粉丝 23
博文 252
码字总数 156129
作品 0
杭州
程序员
Android_6.数据存储2_SharedPreferences存储

本文是以Android Studio为开发工具,<> 为学习指导书籍的学习记录 6.3 SharedPreferences存储 1、不同于文件的存储方式,SharedPreferences是使用“==键值对==“的方式来存储数据的。即、当你...

橄榄工作室 ⋅ 05/24 ⋅ 0

官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?

Kotlin KTX 2月5号的时候,Google 发布了一款 Kotlin 的扩展库,叫 Android KTX,不过现在还处于预览版的状态。它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的效率和使用体验。 ...

承香墨影 ⋅ 02/07 ⋅ 0

Android开发_SharedPreferences

Android开发_SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使...

zhangty0223 ⋅ 2013/08/31 ⋅ 0

安卓巴士Android开发者门户

一、开源库 1.SimpleRatingBar 简单好用的ratingbar 2.NumberRain Android自定义控件仿黑客帝国数字雨 3.CacheWebView 突破系统WebView缓存的空间限制的WebView 4.lucklypopupwindow Android...

迷你芊宝宝 ⋅ 昨天 ⋅ 0

代替 SharedPreferences 的键值存储方式 - KObjectSave

是用来代替android SharedPreferences的键值存储方式, 支持多种类型(int, string ,Date ,bool ,List),它可以方便的存储应用的设置选项,用户的点击记录等。 添加依赖 在app的build.gradl...

五十风 ⋅ 04/13 ⋅ 0

五十风/KObjectSave

KObjectSave 用来代替android SharedPreferences的键值存储方式, 支持多种类型(int, string ,Date ,bool ,List), 它可以方便的存储应用的设置选项,用户的点击记录等 添加依赖 在app的b...

五十风 ⋅ 04/13 ⋅ 0

android之SharedPreferes

SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提...

晨曦之光 ⋅ 2012/05/16 ⋅ 0

Android:SharedPreferences解析和实现记住用户名

SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存。S...

岑浩源 ⋅ 2012/11/28 ⋅ 0

Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录

先简要介绍一下Android系统的文件系统吧,本文基于原生Android M系统: 我们都知道Android系统内核就是个Linux、所以我们的文件系统与Linux也是基本一致的,最顶部的目录是 “/” 接下来就是...

a_zhon ⋅ 04/25 ⋅ 0

android基础知识07:SharedPreferences和PreferenceActivity

本文主要介绍SharedPreferences和PreferenceActivity的基础知识和用法。 主要资料来源于网络,包括但不限于: 《Android之PreferenceActivity》 《在Android中Preferences数据存储的使用》 ...

迷途d书童 ⋅ 2012/03/23 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 46分钟前 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 49分钟前 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 52分钟前 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 今天 ⋅ 0

linux实用操作命令

参考 http://blog.csdn.net/qwe6112071/article/details/50806734 ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件-A 同-a,但不列出"."和"...

简心 ⋅ 今天 ⋅ 0

preg_match处理中文符号 url编码方法

之前想过直接用符号来替换,但失败了,或者用其他方式,但有有些复杂,这个是一个新的思路,亲测可用 <?php$str='637朗逸·超速新风王(300)(白光)'; $str=iconv("UTF-8","GBK",$s...

大灰狼wow ⋅ 今天 ⋅ 0

DevOps 资讯 | PostgreSQL 的时代到来了吗 ?

PostgreSQL是对象-关系型数据库,BSD 许可证。拼读为"post-gress-Q-L"。 作者: Tony Baer 原文: Has the time finally come for PostgreSQL?(有删节) 近30年来 PostgreSQL 无疑是您从未听...

RiboseYim ⋅ 今天 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 今天 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部