Android核心技术Intent和数据存储篇
- 女孩:上海站到了?
男孩:嗯呢?走向世界~
- 女孩:Intent核心技术和数据存储技术?
男孩:对,今日就讲这个~
Intent是各个组件之间用来进行通信的,Intent的翻译为“意图”的意思,是传输数据的核心对象,它可以开启一个activity,也可以发送广播消息和开启Service服务,对于他们之间就是通过intent来互相调用和协调工作的。
开启activity:
通过Intent对象传递startActivity()和startActivityForResult()与onActivityResult()方法开启activity。
开启Service:
startService()方法,开启一个Service。还有通过bindService()方法可以建立调用组件和服务之间的链接。
传递Broadcast:
广播的传递sendBroadcast(),sendOrderedBroadcast()或sendStickyBroadcast()方法。
Intent对象的属性
数据存储技术
在Android中与三种存储的方式:
SharedPreferences存储
File 文件存储
SQLite数据库存储
ContentProvider实现数据共享
1.SharedPreferences存储
SharedPregerences是一种轻量级的数据存储方式,一般用来存储一些简单数据,如应用程序的配置信息等。它的本质基于key-value键值对的方式存储,存储类型为int,long,String,float和boolean。
数据SharedPreferences的文件保存目录:/data/data//shared_prefs/。实现SharedPreferences存储的步骤:调用getSharedPreferences()方法,在获取该方法有两个参数:
getSharedPreferences(String name, int mode)
getPreferences(int mode)
个人资料界面模块以及SQLite数据库的使用
学习目标:
掌握SQLite数据库的使用,能够实现用数据库来保存用户的信息;
学会运用好个人资料,以及个人资料的修改功能实现;
个人资料包括用户名,昵称,性别,签名,QQ号或个人社交账号的记录等。
数据库的创建
数据类继承extends SQLiteOpenHelper
Android设置修改密码,设置密保,和找回密码:
学习目标
掌握修改密码功能的开发,和实现用户密码的修改;
掌握设置密保的功能开发,通过密保我们可以找回用户的密码,来保证用户的安全。
具体布局将不在展示,只说明一些功能模块的实现。
对于一个项目来说,项目中将多次用到sharedPreferences共享参数,去存储用户的登录状态或清除登录状态,“我”的界面也要求用到读取用户姓名的方法,所以我们干脆把这三个方法都扔到AnalysisUtils里面吧。
在Utils包中新建一个Java类,名为AnalysisUtils。
File文件存储
Java中提供了一套IO流体系,Android的写入和读取文件方式一样,提供FileOutputStream类的openFileOutput和提供FileInputStream类的openFileInput()方法。这位内部存储,那么外部存储是?外部存储它使用了Environment类的getExternalStorageDirectory()方法进行读写数据。
本地数据存储
这里介绍常用之Shared Preferences,主要以key-value形式存储。(支持boolean,int,float,long,string);Internal Storage数据安全性高,空间大小有限;External Storage与之Internal Storage相反。
SharedPreferences是一种比较轻型的数据存储,基于xml的键值对存储,存储一些简单的信息。
SharedPreferences只能获取数据不能存储和修改,但能通过Editor实现存储修改。
步骤:
获取SharedPreferences对象
SharedPreferences.Editor
Editor的putXXX的方法
Editor.commit()
SQLite数据库
SQLite是一种轻量级系型数据库,实质为二进制文件,所谓关系型,就是一种关系模式,这里表示二维表结构模式。
在关系型数据库中,二维表中的列为属性,称为字段;行为记录,如一对象;属性中(字段)取值范围称为域。
这里我们要学会数据库,如DDL,DML等,数据定义语言和数据操作语言,创建表格和增删改查。
在SQLite中我们要了解认识SQLiteOpenHelper和SQLiteDatabase,并学会用。和两种方法rawQuery():用于查询和execSQL():用于增删改查。
在Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。分别用query(),insert(),delete(),update()表示。
到此就ok了,接下来会不断往高处学,让我们一起慢慢探索吧~
小礼物走一走 or 点赞
Android核心技术Intent和数据存储篇的更多相关文章
- Spring Boot 揭秘与实战(二) 数据存储篇 - 声明式事务管理
文章目录 1. 声明式事务 2. Spring Boot默认集成事务 3. 实战演练4. 源代码 3.1. 实体对象 3.2. DAO 相关 3.3. Service 相关 3.4. 测试,测试 本文 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - ElasticSearch
文章目录 1. 版本须知 2. 环境依赖 3. 数据源 3.1. 方案一 使用 Spring Boot 默认配置 3.2. 方案二 手动创建 4. 业务操作5. 总结 4.1. 实体对象 4.2. D ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - MongoDB
文章目录 1. 环境依赖 2. 数据源 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 3. 使用mongoTemplate操作4. 总结 3.1. 实体对象 3 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - Redis
文章目录 1. 环境依赖 2. 数据源 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 3. 使用 redisTemplate 操作4. 总结 3.1. 工具类 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - JPA整合
文章目录 1. 环境依赖 2. 数据源 3. 脚本初始化 4. JPA 整合方案一 通过继承 JpaRepository 接口 4.1. 实体对象 4.2. DAO相关 4.3. Service相关 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - MyBatis整合
文章目录 1. 环境依赖 2. 数据源3. 脚本初始化 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 4. MyBatis整合5. 总结 4.1. 方案一 通过 ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - 数据访问与多数据源配置
文章目录 1. 环境依赖 2. 数据源 3. 单元测试 4. 源代码 在某些场景下,我们可能会在一个应用中需要依赖和访问多个数据源,例如针对于 MySQL 的分库场景.因此,我们需要配置多个数据源. ...
- Spring Boot 揭秘与实战(二) 数据存储篇 - MySQL
文章目录 1. 环境依赖 2. 数据源3. 脚本初始化 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 4. 使用JdbcTemplate操作5. 总结 4.1. ...
- Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用
Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...
随机推荐
- Apache配置默认主页
Apache配置默认主页 进入Apache的conf目录 打开httpd.conf文件输入: 在文件末位添加: <Directory "F:/www_php/blog_com/my_b ...
- mysql 索引type介绍
以下全部详细解析explain各个属性含义: 各属性含义: id: 查询的序列号 select_type: 查询的类型,主要是区别普通查询和联合查询.子查询之类的复杂查询 SIMPLE:查 ...
- 安装Caffe纪实
第一章 引言 在ubuntu16.04安装caffe,几乎折腾了一个月终于成功;做一文章做纪要,以便日后查阅.总体得出的要点是:首先,每操作一步,必须知道如何检验操作的正确性;笔者的多次失误是因为配置 ...
- apache配置报错:Unrecognized LogFormat directive %I
跟着阿里云调日志教程(https://help.aliyun.com/document_detail/87740.html)时出现报错: AH00526: Syntax error on line . ...
- ArcGIS自定义工具箱-字段分割
ArcGIS自定义工具箱-字段分割 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:用指定分割符分割字段, 用例:湖南省长沙市=>湖南/长沙 数据源: 使 ...
- [Ting's笔记Day4]将Ruby on Rails项目部署到Heroku
今天想笔记的是把自己写的Ruby on Rails项目部署(Deploy)到Heroku! Heroku是Salesforce公司旗下的云端服务商,支持多种程序语言像是Ruby,PHP,Python等 ...
- Windows导入EOS工程
[Windows导入EOS工程] 编写 EOS 智能合约时,有许多EOS提供的结构.函数.宏.文档对这些内容的描述毕竟模糊,再多的文档也比不过看实际的代码,所以还要下载EOS代码看一下. 最好有个ID ...
- IP路由配置之---------dhcp服务器配置
实验设备:一台华三路由器,一台PC 步骤一,在系统视图下打开dhcp功能,禁用IP(网关,域名服务器) [H3C]dhcp enable # [H3C]dhcp server forbidden-ip ...
- android studio 创建图标
参考 https://www.cnblogs.com/c546170667/p/5975550.html File-New-Image Asset
- 页面引入js问题
今日问题:左侧菜单栏多余的菜单不可以滚动,自己找了很长时间,前端同事帮忙找了很长事件,最后帮我找到问题所在. 这里红色部分标识有多余部分,可以滑动是对的.但是滑动了. 问题:jquery引入的地方错了 ...