【Android】数据共享 sharedPreferences 相关注意事项
Android 中通过 sharedPreferences 来持久化存储数据并进行共享
在 Activity 或存在 Context 环境中即可使用
context.getSharedPreferences(name, Context.MODE_PRIVATE);
设置要保存的数据:
mSp = context.getSharedPreferences(name, Context.MODE_PRIVATE);
mEditor = mSp.edit();
mEditor.putString("test", "abc");
mEditor.putString("test2", "def");
mEditor.commit();
mSp.getString("test", "defaultValue_1");
mSp.getString("test2", "defaultValue_2");
注意:
1. 通过 edit() 获取一个新的编辑器对象来进行写入,设置完成后必须调用 commit 或者 apply 方法才能最终写入到磁盘文件中,否则重启应用后数据就丢失了哦!
2. 必须使用 局部变量保存获取到的 edit() 编辑器对像,而不能每项都通过 edit() 方法来操作,因为每次调用 edit 方法都会生成新的对象实例,操作的将不是同一个对象,我也是莫名其妙了好久,经过几次测试才发现。
3. 读取已存储的数据是通过 SharedPreferences 对象本身来获取的,而不再是 editor 对象了。
4. 获取数据时必须指定默认值
【Android】数据共享 sharedPreferences 相关注意事项的更多相关文章
- Android数据共享
Android数据共享 在Android应用程序开发的过程中,借助Bundle类对象来传递数据并不是在所有场景下都适用,就那简单的Intent类对象来说,就不能put进Bundle类对象中.当然不能否 ...
- Android应用Preference相关及源代码浅析(SharePreferences篇)
1 前言 在我们开发Android过程中数据的存储会有非常多种解决方式,譬如常见的文件存储.数据库存储.网络云存储等,可是Android系统为咱们提供了更加方便的一种数据存储方式.那就是SharePr ...
- Android 之 SharedPreferences应用
Android 平台给我们提供了一个 SharedPreferences 类,它是一个轻量级的存储类,特别适合用于保存共享数据.使用SharedPreferences保存数据,其背后是用xml文件存放 ...
- Android存储--SharedPreferences
简介 在Android中,主要有以下几种存储方式: SharedPreferences,在键值对中存储私有原始数据. 内部存储,在设备内存中存储私有数据. 官方示例: String FILENAME ...
- Android之SharedPreferences数据存储
一.SharedPreferences保存数据介绍 如果有想要保存的相对较小键值集合,应使用SharedPreferences API.SharedPreferences对象指向包含键值对的文件并提供 ...
- 与Android应用程序相关的文件目录都有哪些?(转载)
与Android应用程序相关的文件目录都有哪些? | 浏览:1312 | 更新:2014-09-28 19:43 | 标签:android 一.方法介绍: 每个Android应用程序都可以通过Co ...
- android.content.SharedPreferences.edit()
今天在实现一个保存用户设置到SharedPreferences时,出现了一个不能将数据保存到SharedPreferences中的情况.经过仔细的分析得出: android.content.Share ...
- 18.Android之SharedPreferences数据存储学习
SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...
- android中sharedPreferences的用法
SharedPreferences介绍: 做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等 ...
随机推荐
- WPF开发的FTP文件上传工具
前言 最近楼主在改版的项目里有使用到FTP上传文件,所以看到之前的项目里FTP上传的功能,然后抽个时间学习一番,做着做着就作出了这个工具了(虽然有些验证的功能没加上),但是基本的上传功能还是很好用的, ...
- 最小生成树算法prim and kruskal
一.最小生成树定义: 从不同顶点出发或搜索次序不同,可得到不同的生成树 生成树的权:对连通网络来说,边附上权,生成树也带权,我们把生成树各边的权值总和称为生成树的权 最小代价生成树:在一个连通网 ...
- Oracle常用操作
比较时间 select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss' ...
- DateTime 格式化
在格式化的时候,希望输出2013/10/01 但可能实际的输出是2013-10-01. string s1 = result.Item1.ToString("yyyy/MM/dd" ...
- rcp(插件开发) The activator X for bundle Y is invalid 解决办法
最近在做插件产品的重构,重构的过程当中难免有一些细节的地方 忘记修改 ,导致出现莫名的问题. 比如这个问题: The activator X for bundle Y is invalid 这个问题从 ...
- GDB-Darwin-Extentions
- 5个Unix命令
5个Unix命令 原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段 ...
- 使用元组Tuple,返回多个不同类型的值
记得我在不知道Tuple时,如果想实现调用某个函数时,返回多个值,则需要使用ref或者out了. string name = ""; int result= GetInfo(ref ...
- Oracle实现主键自增长
-- 主键设置:xx_id number(24) primary key 1 create sequence XX_seq --序列名称 increment by 1 -- 每次加几个 start - ...
- oracle exp、imp实现导出导入
一.说明 oracle 的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导 ...