Android本地存储SharedPreferences详解

Android本地存储SharedPreferences详解

存储位置

SharedPreferences数据保存在: /data /data/<package_name> /shared_prefs 文件夹下,以XML格式保存,根元素为:<map />。文件名称为获取SharedPreferences实例时传递的參数值。

<map>
<int name="key" value="value" />
<string name="key" > value </string>
</map>

获取实例

SharePerferences是一个接口,Context实现了API:getSharedPreferences(String, int);这个API依据String返回一个SharePerferences实例。同样的String返回的SharePerferences的实例是同样的。此处strign指定的是存储数据的xml文件的名称。

Activity实现了getPreferences(int),这种方法就是默认使用Activity的class name作为String调用 getSharedPreferences(String, int)。

//指定该SharedPreferences数据仅仅能被本应用读、写。

Context.MODE_PRIVATE
//指定该SharedPreferences数据也能被其它应用程序读,但不能写。
Context.MODE_WORLD_READABLE
//指定该SharedPreferences数据也能被其它应用程序读、写。
Context.MODE_WORLD_WRITEABLE
//文件是否存在,存在那么追加,否则新建
Context.MODE_WORLD_APPEND

//推断SharedPreferences是否包括特定key的数据。
boolean contains(String key)
//获取SharedPreferences里所有的key-value对。
Map<String,?> getAll()
//获取指定key相应的value,假设key不存在。则返回默认值defValue。

Xxx getXxx(String key, Xxx defValue)

SharedPreferences接口本身未提供写入数据的能力,而是通过其内部接口。其调用SharedPreferences.edit() 方法就可以获得它所相应的 SharedPreferences.Editor对象。Editor有例如以下向SharedPreferences写入数据的方法:

//清空SharedPreferences里全部数据。
Editor.clear()
//向SharedPreferences里存入指定key相应的数据。

Editor.putXxx(String key, Xxx Value)
//删除SharedPreferences里指定key相应的数据项。

Editor.remove(String key)
//当Editor编辑完毕后,调用该方法提交改动。
boolean Editor.commit()

读写其它应用的SharedPreferences

1.创建其它应用的相应 Context。

Context useContext =createPackageContext("package_name",Context.CONTEXT_IGNORE_SECURITY);
2.调用其它应用的 Context的 getSharedPreferences()方法获取 SharedPreferences对象。

3.调用其它应用的 SharedPreferences.edit()方法获得对应SharedPreferences.Editor对象。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android SharedPreferences实现记住密码和自动登录界面

    SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存放在"/data/data<package name>/shared_prefs"目录下. SharedPreferences的用法: 由于SharedPreferences是一个接口,而且在这个接口里没有提供写入数据和读取数据的能力.但它是通过其Editor接口中的一些方法来操作Shared

  • Android SharedPreferences实现数据存储功能

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,不同于文件的存储方式,SharedPreferences是使用键值对(key-value)数据的方式来存储数据的.而且SharedPreferences还支持多种不同的数据类型存储,因此,使用SharedPreferences来进行数据持久化要比使用文件方便很多,下面我们就来看一下它的具体用法吧. 如何将数据存储到SharedPreferences中 要想使用SharedPreferences来存储数据,首先

  • Android中SharedPreferences简单使用实例

    本文实例为大家分享了SharedPreferences简单使用案例,供大家参考,具体内容如下 MainActivity: public class SharedPreferencesTestActivity extends Activity implements View.OnClickListener{ private EditText editText; private TextView textView; private Button write; private Button read;

  • Android SharedPreferences四种操作模式使用详解

    Android  SharedPreferences详解 获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法 两种方式的区别: 调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享. 调用Activity对象的getPreferences()方法获得的Sh

  • Android中使用SharedPreferences完成记住账号密码的功能

    效果图: 记住密码后,再次登录就会出现账号密码,否则没有. 分析: SharedPreferences可将数据存储到本地的配置文件中 SharedPreferences会记录CheckBox的状态,如果CheckBox被选,则将配置文件中记录的账号密码信息回馈给账号密码控件,否则清空. SharedPreferences使用方法: 1.创建名为config的配置文件,并且私有 private SharedPreferences config; config=getSharedPreference

  • Android SharedPreferences存储的正确写法

    SharedPreferences 特点 即便是Android小白都知道的SharedPreferences的用法,这是保存数据最简便的方法,但是不处理好的话后期维护将是一个巨大的坑.那么该如何处理好SharedPreferences才方便维护呢.先从它的特点开始入手吧. 通过Context.getSharedPreferences()获取的SharedPreferences是一个单例 SharedPreferences.edit()每次都会创建一个新的编辑对象,commit()之前一切改动都无

  • Android数据共享 sharedPreferences 的使用方法

    Android数据共享 sharedPreferences 的使用方法 Android 中通过 sharedPreferences 来持久化存储数据并进行共享 在 Activity 或存在 Context 环境中即可使用 context.getSharedPreferences(name, Context.MODE_PRIVATE); 设置要保存的数据: mSp = context.getSharedPreferences(name, Context.MODE_PRIVATE); mEditor

  • 详解Android中的SharedPreferences

    SharedPreferences作为Android存储数据方式之一,主要特点是: 1. 只支持Java基本数据类型,不支持自定义数据类型: 2. 应用内数据共享: 3. 使用简单. 使用方法 1.存数据 SharedPreferences sp = getSharedPreferences("sp_demo", Context.MODE_PRIVATE); sp.edit().putString("name", "小张").putInt(&qu

  • Android本地存储SharedPreferences详解

    Android本地存储SharedPreferences详解 存储位置 SharedPreferences数据保存在: /data /data/<package_name> /shared_prefs 文件夹下,以XML格式保存,根元素为:<map />.文件名称为获取SharedPreferences实例时传递的參数值. <map> <int name="key" value="value" /> <strin

  • 5个HTML5的常用本地存储方式详解与介绍

    在 HTML5 规范之前,存储主要是用 cookies .但cookies也有缺点: 在请求头上带着数据: 大小是 4k 之内: 主 Domain 污染: cookies 的主要应用:购物车.客户登录. 由于存在这么多缺点,因此我们需要解决以下问题: 解决 4k 的大小问题: 解决请求头常带存储信息的问题: 解决关系型存储的问题: 跨浏览器: HTML5的5种存储方式 1. 本地存储 localstorage 存储方式: 以键值对( Key-Value)的方式存储,永久存储,永不失效,除非手动删

  • Android SharedPreferences存储用法详解

    先看Demo运行效果 SharedPreferences详解 SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中:当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出. SharedPreferences提供了java常规的Long.Int.Strin

  • Android 文件存储与SharedPreferences存储方式详解用法

    目录 持久化技术简介 文件存储 1. 将数据存储到文件中 2. 从文件中读取数据 SharedPreferences 存储 1. 将数据存储到 SharedPreferences 中 2. 从 SharedPreferences 中读取数据 持久化技术简介 数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或计算机关机的情况下,这些数据也不会丢失.保存在内存中的数据是处于瞬时状态的,而保存在存储设备的数据是处于持久状态的.持久化技术提供了一种机制,可以让数据在瞬时状态和持久状

  • 微信小程序 本地数据存储实例详解

    微信小程序 本地数据存储实例详解 前言 如果您在看此文章之前有过其他程序的开发经验,那一定会知道一般例如安卓或者苹果的原生APP都提供了本地的存储功能,甚至可以使用sqlite数据库来做存储.可是微信的小程序框架基于微信本身,其实际运行环境只是在浏览器里面,所以不会提供那么丰富的数据存储实力.但html5开始已经可以在浏览器里面存储数据,好在微信的小程序给这个功能封装好了,这样我们可以使用数据存储. 每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStor

  • 基于Android RxCache使用方法详解

    前言 我为什么使用这个库? 事实上Android开发中缓存功能的实现选择有很多种,File缓存,SP缓存,或者数据库缓存,当然还有一些简单的库/工具类,比如github上的这个: [ASimpleCache]:a simple cache for android and java 但是都不是很好用(虽然可能学习成本比较低,因为它使用起来相对简单),我可能需要很多的静态常量来作为key存储缓存数据value,并设置缓存的有效期,这可能需要很多Java代码去实现,并且过程繁琐. 如果您使用的网络请求

  • Android中PreferenceActivity使用详解

    目录 一,Preference介绍 二,PreferencesActivity介绍 三,PreferenceActivity的使用 四,PreferenceActivity分别和ListFragment,PreferenceFragment组合使用 五,Preference数据获取 总结 一,Preference介绍 Android提供的preference以键值对的方式来处理这种情况:自动保存设置的数据,并立时生效,而这种使用android sharedpreferences方式进行保存的,不

  • Android 美食大转盘详解流程

    目录 效果视频 前言 美食大转盘 初始化SurfaceView 测量 绘制 绘制盘块 开始旋转转盘 停止旋转转盘 自定义转盘等份 控件引用 沉浸式体验 效果图 Reveal Animator 效果视频 自定义转盘代码 XML布局代码 Activity代码 代码下载地址 效果视频 前言 你还在为明天吃什么而烦恼嘛 美食大赏帮你解决选择困难症 帮你做出最佳的选择 做吃货,我们是认真的 美食大转盘 本示例使用SurfaceView绘制而成,接下来逐步分析, 文末会贴出全部代码``文末会贴出全部代码``

  • Android ContentProvider基础应用详解

    目录 一.适用场景 二.概念介绍 1.ContentProvider简介 2.Uri类简介 三.使用步骤 1.首先创建一个继承自ContentProvider的类,并实现其6个方法: 2.在Manifest文件中注册这个ContentProvider: 3.在外部应用中访问它: 一.适用场景 1.ContentProvider为存储和读取数据提供了统一的接口 2. 使用ContentProvider,应用程序可以实现数据共享 3. android内置的许多数据都是使用ContentProvide

  • uniapp打包安卓App的两种方式(云打包、本地打包)方法详解

    在HBuilder上对APP提供了两种打包方式,云打包和本地打包,下面主要对这两种打包方式做个介绍 两者的区别:云打包相对简单,但是每天最多只能打包五次,而且在高峰期打包时间可能会很长,本地打包相对比较复杂,但是不限制次数,打包时间也短 一. uniapp云打包安卓App: 只需要设置相应参数即可.比较复杂的地方可能就是证书,如果你是测试包,Android的话直接选择共用证书即可,ios则需要申请相应证书,申请证书的具体方法官方也介绍的很清楚了,就不赘述了. 二. uniapp本地打包安卓App

随机推荐