Android学习--持久化(二) SharedPreferences
SharedPreferences
SharedPreferences 也是通过一个简单的Demo来理解SharedPreferences我们该怎么用,说说自己站在一个iOS开发的角度来看这个SharedPreferences的理解,在iOS中你肯定会知道NSUserDefaults,按照我自己的理解,这个NSUserDefaults和SharedPreferences是特别像的,都是通过键值对的方式来存储数据的,你要是懂iOS的话我觉得理解这个SharedPreferences也会变得相应的容易一点。它可以存储不同类型的数据,并且在读取出来的时候数据是和你写进去的时候数据类型是一致的。
登录Demo
下面通过这个简单的Demo来整理一下SharedPreferences,先看看下面的运行效果图:
代码其实很简单就这么几句,这里是数据的读取,也就是在控件创建的时候去判断是不是已经有过登录操作,有存储数据在本地:
下面是我们再点击登录的时候,把数据存储起来:
SharedPreferences的存储、读取过程
SharedPreferences的整个过程可以按照下面四个步走进行:
1、 获取到SharedPreferences对象,通过调用该对象的edit()方法获取到一个SharedPreferences.Editor对象
2、向SharedPreferences.Editor对象添加对象,比如布尔类型就用putBoolean()方法,添加字符串就用putString()方法
3、调用apply()方法将添加的互数据提交,完成了数据的存储
4、读取的时候就用SharedPreferences对象的各种get方法,这里说一下比如说这个getString()方法,两个参数,第一个参数就是我们的键,第二个值就是我们的默认参数,也就是通过这个键找不到值的时候就返回你这里填入的值,理解这个意思就行。
SharedPreferences对象获取方法挺多的
按照我们以前的理解,SharedPreferences对象的获得你会不会想着直接初始化这个SharedPreferences,在iOS中是这样,但在Android中我们的办法就不止了,下面这些原理那肯定都是初始化,说说下面这三个获取方法:
1、 Context 类中的 getSharedPreferences()方法, 此方法接收两个参数,第一个参数用于指定SharedPreferences的文件名称,第二个用于指定操作模式,和前面我们提到的文件存储的时候是一样的。
2、Activity 类中的 getPreferences() 方法, 这个方法和上面我们提到的Context类的方法是相似的,只不过它只接收一个参数,也就是Context中对应的第二个参数,它的文件名字默认是当前活动的类名
3、PreferencephalitisManager 类中的getdefaultSharePreferences()方法,这是一个静态的方法,它接收的是一个context参数,并且使用当前程序的包名称用作SharedPreferences的文件名
通过上面说的这几点,相信能够掌握SharedPreferences!
Android学习--持久化(二) SharedPreferences的更多相关文章
- 【Android】完善Android学习(二:API 2.3.4)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- Android学习笔记二之初始Activity
初识Activity,跟着教程学习敲了一遍这一章的内容,下面根据目录结构总结知识点: 一.活动是什么 上篇博文中我们提到了Android四大组件,其中有一个Activity,我们将之称为活动.活动是最 ...
- Android学习--持久化(三) SQLite & LitePal
SQLite & LitePal 自己做为一个iOS开发,看到安卓这一块的时候,那中浓烈的熟悉味道更加强烈,SQLite这种轻量级的关系型数据库的使用在移动端相差不多,iOS有FMDB,And ...
- Android学习总结(二)——Service基本概念和生命周期
好了,前面我们已经学习了Activity的知识,相信大家也有一定的理解,但是还是不能放松,Android四大组件,我们才学习了一个而已,接下我们继续学习Service.计划总结如下内容: 一.Serv ...
- android学习笔记二、Activity深入学习
一.创建和使用: 1.Activity是android的四大组件之一,需要继承Activity并在清单文件中进行声明才能使用.没有声明则报错. 2.启动Activity是通过Intent,有两种方式: ...
- Android数据持久化技术 — — —SharedPreferences
SharedPreferences是使用键值对的方式来存储数据. 要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferen ...
- android 学习随笔二十一(内容提供者 )
一.内容提供者* 应用的数据库是不允许其他应用访问的* 内容提供者的作用就是让别的应用访问到你的私有数据* 自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查 ...
- android 学习随笔二(读写文件)
在android读写文件 RAM:运行内存,相当于电脑的内存 ROM:内部存储空间,相当电脑硬盘,android手机必须有的 SD卡:外部存储空间,相当电脑的移动硬盘,不是必须的.手机如果内置16G存 ...
- Android学习(二)
学号 20189214 <Android程序设计>第七周学习总结 教材学习内容总结 监听 设置点击监听的5种方式 方法1:直接用匿名内部类 这是最常用的一种方法,直接setXXXListe ...
随机推荐
- HDU1042 A * B Problem Plus
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- day09 threading, paramiko, queue 模块
1 模拟ssh 2 锁 内部锁,程序锁,信号量 3 多线程 4 简单消息队列 先来看模拟ssh ,python 的强大之处就是因为有很多模块,可以很简单的完成复杂的事情,今天我们用paramiko ...
- Django 五——中间件、缓存、CSRF、信号、Bootstrap(模板)
内容概要: 1.Django的请求生命周期是怎么样的? 2.中间件 3.CSRF补充 4.信号 5.Bootstrap(模板) 1.Django的请求生命周期是怎么样的? (即请求发起到返回都经历了什 ...
- windows下git安装以及基本配置
一.首先要下载git然后进行默认安装即可,然后查看系统环境变量是否添加 二.桌面右击鼠标,选择git bash 进入操作页面 git --version 检测是否安装成功 安装完成有配置一 ...
- 实时视频h5
http://www.cnblogs.com/dotfun/p/4286878.html
- jeakins+maven+jmeter构建性能测试自动化( 在eclipse里运行如果出现没有找到“*.loadtest.xls”,请将此文件名修改为你对应使用的xsl文件名)
背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自 ...
- Pycharm注册码最新版本2019激活码activation code + 最实用的激活方法(亲测有效)
同时适用于jetbrains全系列可用例:IDEA.WebStorm.phpstor 由于想趁着这个寒假多学习下python,所以这些实用小技巧分享给大家,拿走不谢~ 这里为大家提供了两种最实用的激活 ...
- thinkphp3.2接入支付宝支付接口(PC端)
下载支付宝接口包 点击这里 提取密码:aryp 整个接口核心类文件 alipay.config.php是相关参数的配置文件 alipayapi.php 是支付宝接口入口文件 not ...
- hnust 聚宝盆
问题 A: 聚宝盆 时间限制: 1 Sec 内存限制: 128 MB提交: 663 解决: 282[提交][状态][讨论版] 题目描述 Grace是个善良的同学,他经常帮助同学解决问题.这天,他正 ...
- Leetcode 557.反转字符串中的单词III
反转字符串中的单词III 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest ...