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的更多相关文章

  1. Android数据储存之SharedPreferences总结

    写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...

  2. Android数据存储-通过SharedPreferences实现记住密码的操作

    在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过S ...

  3. Android 数据存储之 SharedPreferences储存

    ------------------------------------------SharedPreferences存储--------------------------------------- ...

  4. Android数据存储方式--SharedPreferences

    Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...

  5. Android数据存储之SharedPreferences存储

    安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...

  6. Android数据存储之sharedpreferences与Content Provider

    android中对数据操作包含有: file, sqlite3, Preferences, ContectResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序 ...

  7. Android数据存储三剑客——SharedPreferences、File、SQLite

    Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...

  8. android数据储存之存储方式

    能够将数据储存在内置或可移动存储,数据库,网络.sharedpreference. android能够使用Content provider来使你的私有数据暴漏给其它应用程序. 一.sharedpref ...

  9. Android数据持久化技术 — — —SharedPreferences

    SharedPreferences是使用键值对的方式来存储数据. 要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferen ...

随机推荐

  1. IOS 长按+轻扫(手势识别)

    @interface NJViewController () @property (weak, nonatomic) IBOutlet UIView *customView; @end @implem ...

  2. ModelName标记的使用

    再项目中出现这样的错误: A model description could not be created. Duplicate model name 'ExamInfoParams' was fou ...

  3. POJ 2718 Smallest Difference(dfs,剪枝)

    枚举两个排列以及有那些数字,用dfs比较灵活. dfs1是枚举长度短小的那个数字,dfs2会枚举到比较大的数字,然后我们希望低位数字的差尽量大, 后面最优全是0,如果全是0都没有当前ans小的话就剪掉 ...

  4. UVA 11990 ``Dynamic'' Inversion (线段树套BIT,分治)

    题目要求可转化为查询一个区间内有多少数比val大(或者小). 区间用线段树分解(logN),每个区间维护一rank树. rank可用BIT查询,往BIT里面插值,为了保证不同区间的BIT互不影响要先离 ...

  5. python基础一 day16 内置函数

    # 数据类型 :int bool ...# 数据结构 : dict list tuple set str reversed()l = [1,2,3,4,5]l.reverse()print(l)l = ...

  6. python剑指offer 链表中环的入口节点

    题目: 一个链表中包含环,请找出该链表的环的入口结点. 思路: 先说个定理:两个指针一个fast.一个slow同时从一个链表的头部出发, fast一次走2步,slow一次走一步,如果该链表有环,两个指 ...

  7. bootstrap table加载数据

    //html <table id="dailyDevTable"></table> //js $(function () { initTable(); }) ...

  8. primeng 中 pickList组件的使用

    primeng 是为angular 开发的一个强大的组建库,有很多强大的功能,拿来即用.但要真正满足自己的业务需求,就是按自己的需求进行修改,比如默认的样式等等. 进入正题. pickList 组件的 ...

  9. SpringBoot之YAML

    SpringBoot的配置文件有两种,一种是properties结尾的,一种是以yaml或yml文件结尾的 我们讨论一下yml文件结尾的文件: 基本语法: 其实yml文件就是键值对的形式,不过就是键( ...

  10. 【IDEA】热部署插件Jrebel破解安装

    JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...