Android数据储存之SharedPreferences
Android中SharedPreferences通常与Editor连用
接口SharedPreferences常用方法:
boolean contains(String str):判断SharedPreferences中是否包含key为str的数据;
abstract Map<String,?>getALL():获取SharedPreferences中所有数据;
String getxxxx(String str,xxxx defvalue):获取指定类型的key为str的值!如果没有找到,则返回 defvalue
SharedPreferences 对象的获取方法:
通过Context中的getSharedPreferences(String name,int mode);
1、第一个参数为SharedPreferences的名称!
2、第二个参数有如下几个值:
(1)Context.MODE_PRIVATE :指定SharedPreferences数据只能被本应用使用
(2)Context.MODE_WORLD_READABLE:指定SharedPreferences数据可以被其他应用读取,但是不能写
(3)Context.MODE_WORLD_WRITEABLE:指定SharedPreferences数据可以被其他应用程序读写
Editor 常用方法:
SharedPreferences.Editor Clear(); 清空SharedPreferences中所有数据
SharedPreferences.Editor putxxxx(String str,xxxx value) 向SharedPreferences中添加数据
SharedPreferences.Editor remove(String str) 删除SharedPreferences中指定key为str的数据
boolean commit(); 增删改之后提交
获取Editor对象:
SharedPreferences.edit();
代码:
public class MainActivity extends Activity implements OnClickListener{
private Button read,write;
private SharedPreferences preferences;
private SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setEvent();
}
private void setEvent() {
write.setOnClickListener(this);
read.setOnClickListener(this);
}
private void initView() {
write =(Button) this.findViewById(R.id.write);
read =(Button) this.findViewById(R.id.read);
preferences = this.getSharedPreferences("MySharedPreferences",Context.MODE_PRIVATE);
editor = preferences.edit();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.read:
//contains(Stirng str)方法:查找该sharedpreferences中是否包含key值为str的值!
boolean i = preferences.contains("ddd");
if(i){
String str = preferences.getString("ddd", "0");
//Toast.makeText(this,""+str+"", 0).show();
}else{
Toast.makeText(this,"没找到该数据", 0).show();
}
Map<String, ?> map = preferences.getAll();
for (Entry<String, ?> map1 : map.entrySet()) {
Toast.makeText(this,"KEY="+map1.getKey()+"||||||VALUE="+map1.getValue(), 0).show();
}
break;
case R.id.write:
editor.putString("ddd",new Date().toString());
editor.putBoolean("aa",false);
editor.putFloat("ff", 13);
editor.putInt("rr", 33232);
editor.commit();
break;
default:
break;
}
}
}
Android数据储存之SharedPreferences的更多相关文章
- Android数据储存之SharedPreferences总结
写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...
- Android数据存储-通过SharedPreferences实现记住密码的操作
在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过S ...
- Android 数据存储之 SharedPreferences储存
------------------------------------------SharedPreferences存储--------------------------------------- ...
- Android数据存储方式--SharedPreferences
Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...
- Android数据存储之SharedPreferences存储
安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...
- Android数据存储之sharedpreferences与Content Provider
android中对数据操作包含有: file, sqlite3, Preferences, ContectResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序 ...
- Android数据存储三剑客——SharedPreferences、File、SQLite
Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...
- android数据储存之存储方式
能够将数据储存在内置或可移动存储,数据库,网络.sharedpreference. android能够使用Content provider来使你的私有数据暴漏给其它应用程序. 一.sharedpref ...
- Android数据持久化技术 — — —SharedPreferences
SharedPreferences是使用键值对的方式来存储数据. 要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferen ...
随机推荐
- iphone开发笔记
1.uiimage图片拉伸 - (void)stretchBackgroundImage { //UIImage *originalImage = [[self backgroundImageForS ...
- 几个重要的开源视频会议SIP协议栈
视频会议系统由于需要与不同的终端进行连接,因此我们需要视频会议终端遵循统一的协议,H.323协议是视频会议软件使用最广泛的协议栈,但H.323设计得较为复杂,用户在调用H.323协议过程较多,因此利用 ...
- 题解 P1137 【旅行计划】
传送门 很显然,每个点的答案是它所有前驱节点的答案加1,即f[i]=max(f[i],f[j]+1); 考虑空间复杂度用邻接表存图,在拓扑排序同时DP就好了 #include<iostream& ...
- D-bus交叉编译
在嵌入式中如果需要Qt系统支持U盘插拔,则需要Qt支持D-bus. D-bus的交叉编译依赖expat库,此库为XML解析库. 交叉编译expat库: #./configure --host=XXX ...
- PHP获取接下来一周的日期
//获取接下来一周的日期 function GetWeeks() { $i=0; $weeks=[]; for ($i;$i<=7;$i++){ $month=date('m',time()+8 ...
- Ansible学习 Inventory文件
Ansible可同时操作属于一个组的多台主机,组与主机之间关系配置在inventory文件中,inventory默认的配置文件是/etc/ansible/hosts 1.在/etc/ansible/h ...
- tp5 修改自带success或error跳转模板页面
tp5 修改自带success或error跳转模板页面 我们在使用tp5或者tp3.2的时候,用的成功或者失败跳转提示页面一般是用框架的.在后续开发过程中,根据实际项目需要,也是可以更改的,在此分享一 ...
- [转载]本地配置的 *.dev,*.app域名 在谷歌浏览器中总是自动转跳到https上,导致不能访问?
本地开发环境 .dev 不正常,找到文章mark一下 转自:https://segmentfault.com/q/1010000012339191
- django之media配置
一.没有配置Media avatar = models.FileField(upload_to='avatars/', default='/avatars/default.png') # 储存头像的m ...
- stm32-IIC读写EEPROM—时序说明
I2C 通讯协议:(Inter-Integrated Circuit)是由Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART.CAN 等通讯协议的外部收发设备,现在 ...