SharedPreferences:用于存储少量并且数据格式简单,基本上都是普通的字符串,标量类型的值,比如:应用程序的各种配置信息等。

SharedPreferences:保存的数据格式主要是key-value对

主要方法:

boolean contains(String key):判断是否包含特定key的数据

Map<String, ?> getAll():获取全部的数据

Xxx getXxx(String key, boolean defValue):获取指定key的值,如果不存在则返回defValue

SharedPreferences本身没有编辑功能,通过调用内部的接口可以实现编辑。调用edit()方法返回Editor对象,Editor提供了如下方法向SharedPreferences写入数据:

clear():清空数据

putXxx(String key, Xxx value):放入数据

remove(String key):删除数据

commit():当Editor编辑完成后,调用该方法提交修改

SharedPreferences本身是一个接口,程序无法创建SharedPreferences的实例,只能通过Context提供的SharedPreferences getSharedPreferences(String name, int mode)方法获取SharedPreferences实例:

第一个参数是文件的名称,不能带有后缀

第二个参数的含义:

Context.MODE_PRIVATE:只能被本应用读写

Context.MODE_WORLD_READABLE:能被其他的应用读,但是不能写

Context.MODE_WORLD_WRITEABLE:可以被其他的应用读和写

SharedPreferences本质是以XML格式的文档存数数据的。

SharedPreferences数据的存储总是保存在/data/data/<package_name>/shared_prefs目录下。

写入数据:

btn = (Button) findViewById(R.id.btn);
preferences = this.getSharedPreferences("hml", this.MODE_PRIVATE);
editor = preferences.edit();
editor.putString("test", "test");
editor.commit();

访问其他应用程序SharedPreferences中的数据

前提是其他应用程序创建SharedPreferences时指定的MODE是Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE

步骤:

1、创建其他应用程序的Context对象:Context createPackageContext(String packageName, int flags)

packageName:是其他应用程序的包名,在android中包名唯一标示一个应用程序

2、调用Context的getSharedPreferences(String name, int mode)获取SharedPreferences对象

3、其他操作和操作自己的SharedPreferences一样

android中SharedPreferences的更多相关文章

  1. android中sharedPreferences的用法

    SharedPreferences介绍:   做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等 ...

  2. android中sharedPreferences的用法(转)

    SharedPreferences介绍:   做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等 ...

  3. 缓存AsimpleCache -- 解决Android中Sharedpreferences无法存储List数据/ASimpleCache

    Sharedpreferences想必大家在项目中都经常会用到,但是如果需要在本地需要存储比较多的数据,存储一个集合的时,发现Sharedpreferences并不 是那么好使了. 分析 如果需要在本 ...

  4. Android中SharedPreferences和序列化结合保存对象数据

    前言: 最近在做用户注册的时候,遇到了需要填写很多表单数据,不可能在一页把所有的数据都展示完全,因此采用了分页的方式,由于在用户填写数据数据之后我们需要对用户填写的数据进行暂时的记录的,当用户会到此页 ...

  5. android中SharedPreferences 读取不到数据的问题

    在两个不同的 Activity中,A中SharedPreferences保存了数据,在A中可以读取到,但是在 B中却读取不到了,一直是空值,好是不爽,由于是按照书本上的例子写的, 怎么也找不到原因,后 ...

  6. Android中SharedPreferences函数具体解释

    Android平台提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置參数,比方boolean,int,float,long,Strin ...

  7. Android中SharedPreferences介绍和使用方法

    1.SharedPreferences简介 为了保存软件的设置参数,Android 平台为我们提供了一个SharedPreferences 类,它是一个轻量级的存储类,特别适合用于保存软件配置参数.使 ...

  8. android中sharedPreferences的笔记

    haredPreferences的使用非常简单,能够轻松的存放数据和读取数据.SharedPreferences只能保存简单类型的数据,例如,String.int等.一般会将复杂类型的数据转换成Bas ...

  9. Android中SharedPreferences使用方法介绍

    一.Android SharedPreferences的简介 SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用 ...

随机推荐

  1. Python中sys模块

    Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数.通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境. ...

  2. 怎么避免从删库到跑路 -- 详解 mysql binlog 的配置与使用

    1. 引言 使用数据库的时候,我们每个操作都十分小心,尤其是不能直接在数据库上执行 update.delete 等操作,否则万一忘记加全 where 条件,可能就会造成无法挽回的结果. 有一句十分流行 ...

  3. windows下查看端口占用以及关闭相应的进程

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

  4. kubernetes容器集群管理创建node节点kubeconfig文件

    1.创建TLS Bootstrapping Token 2.创建kubelet kubeconfig 3.创建kube-proxy kubeconfig 安装和设置kubectl [root@mast ...

  5. java.nio.Buffer 中的 flip()方法

    在Java NIO编程中,对缓冲区操作常常需要使用  java.nio.Buffer中的 flip()方法. Buffer 中的 flip() 方法涉及到 Buffer 中的capacity.posi ...

  6. elasticsearch 嵌套对象使用Multi Match Query、query_string全文检索设置

    参考: https://www.elastic.co/guide/en/elasticsearch/reference/1.7/mapping-nested-type.html https://sta ...

  7. 用python编写排序算法

    交换排序 === 冒泡排序,快速排序 插入排序 ===直接插入排序,希尔排序 选择排序 === 简单选择排序,堆排序 归并排序 基数排序 冒泡排序 要点 冒泡排序是一种交换排序. 什么是交换排序呢? ...

  8. 程序猿必备的10款web前端动画插件

    1.基于jQuery的瀑布流图片筛选插件 瀑布流的展现方式在目前的网页中用得越来越广泛,特别是图片和首页文章的动态加载. 今天分享的这款就是基于jQuery的瀑布流图片筛选插件,我们可以点击图片分类名 ...

  9. [BOOKS]BIG DATA and DATA ANALYTICS: The Beginner's Guide to Understanding the Analytical World

  10. iterators和generators

    iterators >>> mylist=[x*x for x in range(3)] >>> mylist [0, 1, 4] generators >& ...