移动应用-Android开发基础\核心知识点
Android开发基础 知识点
- 1 介绍了解
- 2 系统体系架构
- 3 四大应用组件
- 4 移动操作系统优缺点
- 5 开发工具
- 6 配置工具
- 7 下载相关资源
- 8JDK下载安装流程
- 9配置好SDK和JDK环境
- 10 第一个Hello word
- 11 AS开发前常用设置
- 12模拟器使用运行
- 13 真机调试
- 14 AndroidUI基础布局
- 15 加载展示XML布局
- 16 布局XML中 ID 和 属性
- 17 布局参数类LayoutParmas和xml布局属性
- 18 尺寸单位dppx
- 19 布局margin和padding
- 20 线性布局LinearLayout
- 21 相对布局RelativeLayout
- 22 帧布局FrameLayout
- 23 网格布局GridLayout
- 24 文本控件TextView的常用属性
- gravity 共用属性 视图 /视图容器 都有 的 属性
- gravity和layout_gravity
- 25 shape给TextView形状和图片
- 26文本输入框EditText
- 27按钮控件Button使用StateListDrawable
- 28图像视图ImageView
- 29RadioButton和CheckBox
- 30开关Switch和ToggleButton
- 31进度条ProgressBar
- 32拖动条SeekBar
- 33滚动条控件ScrollView
- 34日期与时间控件
- 35适配器Adapter与AdapterView
- 36ListView控件使用方式
- 37适配器BaseAdapter的优化
- 38 ListView布局风格Item
- 39 网格视图GridView
- 40 列表选项控件Spinner
- 41 可折叠列表ExpandableListView
- 42 Toast吐司控件
- 43 对话框控件AlertDailog
- 44 事件分发机制
- 45 悬浮框控件PopupWindow
- 46 Android如何创建和启动Activity组件
- Activity 解释
- AppcompatActivity
- setContentView 设置 视图
- 注册 Activity 和 属性 路径配置
- 显示启动 隐式启动
- 47 分析Activity组件的生命周期
- OnCreate 加载布局 视图
- Dialog类型窗口 的 生命周期
- Resume重现 可见
- 48 Activity组件间的通信方式
- 49 Activity回退堆栈back-stack概念
- 回退 堆棧 來存儲 管理 Activity Task容器
- 入栈 出栈 后进先出 没了 就 销毁
- 50 Activity启动模式之standard模式
- standard 不会复用
- 51 Activity启动模式之singleTop模式
- singleTop 复用
- P58 第58课 Activity启动模式之singleTask模式
- P59 第59课 Activity启动模式之singleInstance模式
- P60 第60课 线程概念及三种创建方式
- 程序 内存空间 进程
- Thread 类 run 方法
- Runnable run方法
- Callable 与 Future 线程
- 并行执行
- 构造方法 Thread 传 Runnable
- Call 这个 实现 可以返回值
- 用 FutureTask 来 取值
- 阻塞 线程 等待 延时 把 值 取出来
- P61 第61课 Service组件通过startService启动的生命周期
- Service 可复用
- P62 第62课 Service组件通过bindService启动的生命周期
- binder类 客户端 与 服务 通信
- Activity 接收 return 的 值
- 监听类
- P63 第63课 BroadcastReceiver广播组件之动态注册
- P64 第64课 BroadcastReceiver广播组件之静态注册
- 注册 接收
- 显式 发送广播
- P65 第65课 通过ContentProvider组件访问系统应用数据
- 动态获取 权限
- 暴露URI
- P66 第66课 通过ContentProvider组件暴露应用内部数据给第三方
- 往 表里 写数据
- 跨进程 
- P67 第67课 Fragment两种创建方式
- 一变多 运行在 一个 界面里 寄宿在 Activity 里
- 静态标签 加载
- 自定义的 fragment
- 动态加载
1 介绍了解
发展历史 发行版本
2 系统体系架构
3 四大应用组件
4 移动操作系统优缺点
5 开发工具
6 配置工具
步骤
新建环境变量的系统变量,变量名为“ANDROID_ADV_HOME”,变量值为存模拟器的地址。
删除模拟器默认的存放地址,即C:\Users\用户名.android。(注:如果新建系统变量后没有删除默认的存放地址,则以后创建的模拟器仍存放在默认的地址)
新建模拟器验证修改是否成功。
7 下载相关资源
8JDK下载安装流程
9配置好SDK和JDK环境
10 第一个Hello word
11 AS开发前常用设置
12模拟器使用运行
HAXM
13 真机调试
14 AndroidUI基础布局
viewgroup视图容器—>view —> 视图
线性布局
约束性布局
都是 viewgroup的子类
只有一个 根 viewgroup
XML 标签 内 都是 一个 JAVA 类 都可以 new 实例化 一个 对象
视图容器
视图
属性
再把视图装到视图容器中
15 加载展示XML布局
XML 代码 布局
LinearLayout 视图容器 标签
视图 + 按钮
根元素
组件 创建 的 回调
setcontentview 加载 XML
约束布局
16 布局XML中 ID 和 属性
17 布局参数类LayoutParmas和xml布局属性
约束布局 继承 视图容器 (抽象类 )
嵌套类 LayoutParams
LayoutParams 的 一个 子类 继承于 LP
定位位置
视图 布局
通过 视图 获得 LayoutParams
通过 tv 模板试图 传递参数
px不行 适配 各种 屏幕
wrap 自己
match 父视图
18 尺寸单位dppx
视图 在 视图容器中 都有 坐标点 宽高
相对于 父视图 的 位置
单位 Px 像素
布局 ---- 视图容器
都是 px 值
19 布局margin和padding
视图 只有 内边距
20 线性布局LinearLayout
权重 高度 宽度 为0
21 相对布局RelativeLayout
22 帧布局FrameLayout
悬浮按钮 最上层
23 网格布局GridLayout
键盘 效果
24 文本控件TextView的常用属性
文本控件 视图
sp 文本 尺寸单位 不能用 dp
gravity 共用属性 视图 /视图容器 都有 的 属性
gravity和layout_gravity
两者都是设置对齐方式
内部的属性值相同
center_horizontal表示在水平方向上的位置为中间
背景 也是 共用属性
利于 复用
25 shape给TextView形状和图片
vangle 渐变角度
比 图片 占用小
@ ====》res 目录
26文本输入框EditText
默认提示文本
获取 内容文本
密码格式
27按钮控件Button使用StateListDrawable
获取 控件 的 属性
控制 点击
28图像视图ImageView
缩放 只针对 src 属性
xy 拉伸 按比例
继承 这个 imageview 自定义
29RadioButton和CheckBox
继承于 线性布局 是一个 视图容器
应用清单
获取 子视图 个数 遍历
得到 radiobtn
判断 checked
点击 按钮 监听
drawable 实现
30开关Switch和ToggleButton
实现这个 接口
绑定 this 这个 acitivity
传入 对象
通过 id 判断
31进度条ProgressBar
下载 和 视频 播放
Oncreate 的 生命周期
每过一秒
就加10
用 handler 来 更新进度
安卓 消息机制 发了个 空消息
在这 接收
再 更新
为什么 不在 线程 里 调用 这个 progress方法
安卓 应该在 UI线程 里 去做
样式
存放 安卓系统 一些 java 库 安卓 库
自定义 样式 吧 太丑
32拖动条SeekBar
视频播放器 进度条
33滚动条控件ScrollView
也是个 容器
文本 滚动浏览
34日期与时间控件
触发回调
35适配器Adapter与AdapterView
适配器 控件 继承 视图容器
list 需要 适配器 展示 数据
适配器 类 的 子类
放好 数据源
item 比较复杂的 结构 继承 Baseadapter
36ListView控件使用方式
创建个 数据 对象 实体类
自定义 adapter
重写
position 每一行 的 下标
getview 返回 每一项 布局结构
获取布局对象
converView 每个 item 的 视图对象
自定义 adapter 和 布局结构
C与 V 绑定
list item 的 点击事件
37适配器BaseAdapter的优化
ontentview 就是 列表中每一项 view
系统自动缓存
可以直接复用 不用每次再重新加载 xml 避免 系统资源浪费
class 存储 item 的 对象
再加载 实现 加载进去 存到对象
把 视图对象 加在 viewHolder 也存起来
标签
视图 以标签形式 保存对象
缓存 存取 方便 可复用
再赋值
38 ListView布局风格Item
返回 指定 試圖 類型
返回 几种 不同 的 item
两种 风格 布局
写 两个 layout
基于 优化 变成 viewHolder
只要是 getview 加载 不同布局 和 渲染不同数据
视图对象 赋值
holder缓存起来
布局 type 数据 区分
39 网格视图GridView
这个view 也是 配合 adapter 使用
adapter 适配器 C层
item 布局风格
实现 它的几个 方法
加载 每个 item grid 布局
多种方式 列表 继承于 视图容器 取代 view 进阶
40 列表选项控件Spinner
也需要 配合 adapter 使用
自定义 下拉 效果
通过 id 找到 spinner
提供数据源
一个实体类
自定义 adapter
定义 每个 item的 风格 跟之前 的 自定义 view一样
绑定适配器
点击事件
触发 方法 得到 下标
41 可折叠列表ExpandableListView
自定义适配器
这个 组
子项
子item
自定义 时候 实现 这几个 方法
创建 俩个 集合
item集合
自定义的 适配器
把两个 数据源 传进来
组 对象 child 子列表 数据
布局 结构 渲染 数据
点击事件
42 Toast吐司控件
widget 包 下 单独 组件类
三个参数
上下文
文本内容
弹出时间
43 对话框控件AlertDailog
组件
lesson 数据源 列表
44 事件分发机制
dispatch 分发
intercept 拦截
自定义 线性 和 button 视图
dispatchtouchevent
Activity 不会向下分发
终止之后的 ontouchEvent也 不执行
同 popupwindow
true 分发事件 会被拦截
就会 执行 onTouchEvent
45 悬浮框控件PopupWindow
46 Android如何创建和启动Activity组件
Activity 解释
AppcompatActivity
setContentView 设置 视图
注册 Activity 和 属性 路径配置
显示启动 隐式启动
匿名启动
主题 对话框 显示 Activity
47 分析Activity组件的生命周期
OnCreate 加载布局 视图
Dialog类型窗口 的 生命周期
Resume重现 可见
48 Activity组件间的通信方式
49 Activity回退堆栈back-stack概念
回退 堆棧 來存儲 管理 Activity Task容器
入栈 出栈 后进先出 没了 就 销毁
50 Activity启动模式之standard模式
standard 不会复用
51 Activity启动模式之singleTop模式
singleTop 复用
P58 第58课 Activity启动模式之singleTask模式
P59 第59课 Activity启动模式之singleInstance模式
P60 第60课 线程概念及三种创建方式
程序 内存空间 进程
Thread 类 run 方法
Runnable run方法
Callable 与 Future 线程
并行执行
构造方法 Thread 传 Runnable
Call 这个 实现 可以返回值
用 FutureTask 来 取值
阻塞 线程 等待 延时 把 值 取出来
P61 第61课 Service组件通过startService启动的生命周期
Service 可复用
P62 第62课 Service组件通过bindService启动的生命周期
binder类 客户端 与 服务 通信
Activity 接收 return 的 值
监听类
P63 第63课 BroadcastReceiver广播组件之动态注册
P64 第64课 BroadcastReceiver广播组件之静态注册
注册 接收
显式 发送广播
P65 第65课 通过ContentProvider组件访问系统应用数据
动态获取 权限
暴露URI
P66 第66课 通过ContentProvider组件暴露应用内部数据给第三方
往 表里 写数据
跨进程 
P67 第67课 Fragment两种创建方式
一变多 运行在 一个 界面里 寄宿在 Activity 里
静态标签 加载
自定义的 fragment
加载 布局
动态加载
https://www.bilibili.com/video/BV1PE411u7ox?from=search&seid=1701600622306119124
相关文章:

移动应用-Android开发基础\核心知识点
Android开发基础 知识点 1 介绍了解2 系统体系架构3 四大应用组件4 移动操作系统优缺点5 开发工具6 配置工具7 下载相关资源8JDK下载安装流程9配置好SDK和JDK环境10 第一个Hello word11 AS开发前常用设置12模拟器使用运行13 真机调试14 AndroidUI基础布局15 加载展示XML布局16…...

Java读取并转换字符串中的浮点数
在写Android接收蓝牙数据的时候,由于传过来的蓝牙数据转换后都为字符串格式,但是需要从其中提取出来浮点数,所以通过查阅资料写出了从字符串中提取并转换为浮点数的方法,特记录下来以供参考。 目录 原始数据内容 提取字符串中的…...

SQL: 索引原理与创建索引的规范
SQL 索引是一种数据结构,用于加速数据库查询操作。它通过在表的列上创建索引,提供了一种快速查找数据的方法,减少了数据库的扫描和比较操作,从而提高了查询性能。索引根据其实现方式可以分为多种类型,如 B-树索引、哈希…...

基于STM32_DS18B20单总线传感器驱动
基于STM32_DS18B20单总线传感器驱动 文章目录 基于STM32_DS18B20单总线传感器驱动前言一、BS18B20?二、原理1.复位与检验2.基本命令3.唯一ROM识别码4.温度转换 三、驱动代码四、注意事项 前言 本文以一款典型的单总线传感器及其驱动——DS18B20为例,简单…...

目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型(三)
前言 目标识别如今以及迭代了这么多年,普遍受大家认可和欢迎的目标识别框架就是YOLO了。按照官方描述,YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性…...

springboot线程池创建与使用
/*** author: zcs* Title: TaskPoolConfig* Description: 线程池配置* date: 2023/10/11 17:52*/ Component public class TaskPoolConfig {Bean(name "threadPoolTaskExecutor")public Executor taskExecutor() {ThreadPoolTaskExecutor taskExecutor new ThreadP…...

UDP和TCP特点(部分)对比:
传输层的两个主要协议:TCP 和 UDP UDP和TCP特点(部分)对比: UDP:无连接, 不可靠传输, 面向数据报, 全双工。 TCP:有连接, 可靠传输, 面向字节流…...

PostMan环境变量、全局变量、动态参数使用
一、环境准备 postmanmoco [{"description": "登录认证","request": {"uri": "/login","method": "post","forms": {"user": "admin","password": "a123…...

服务器数据恢复-服务器硬盘指示灯黄灯闪烁的数据恢复案例
服务器数据恢复环境: 服务器面板上的硬盘指示灯显示黄色是一种警告,提示指示灯对应的服务器硬盘已经被服务器识别出存在故障,硬盘即将下线。如果出现这种情况,建议服务器管理员/运维人员及时用完好的硬盘替换显示黄色指示灯对应的…...

ts 分发
在 TypeScript 中,"分发"(distributive)是指在条件类型中的联合类型上自动进行类型推断的机制。当使用条件类型操作联合类型时,TypeScript 会自动将联合类型中的每个成员都应用该条件类型。 下面是一个示例:…...

SQL中的group by使用注意事项
在 SQL 中,GROUP BY 语句用于将查询结果按照指定的列进行分组,并对每个分组计算聚合函数(如 SUM、AVG、COUNT 等)的值。一般情况下,如果查询中包含聚合函数,那么就需要使用 GROUP BY 语句将查询结果按照指定…...

矩阵剪辑系统源码----pc/手机端双开发
剪辑系统,剪辑矩阵系统,剪辑矩阵系统主要是针对抖音、快手、bili平台的一个工具,今天就来给大家交流一下这 个产品的主要功能以及构成。剪辑矩阵系统,矩阵剪辑系统源码-这产品主要功能就是一个视频剪辑功能,这个视频剪…...

0基础学习VR全景平台篇 第106篇:认识调色软件Lightroom
上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 正式开讲之前需要先引出一个概念:到底什么是调色? 比如说上面这张照片,你可能会具体的指出照片中的元素有天空、山脉、草地等…… 如果我们跳出我们的固…...

React如何优化减少组件间的重新Render
目前写了不少React的项目,发现React有些特点更灵活和注重细节,很多东西需要有一定的内功才能掌握好;比如在项目中常常遇到的组件重复渲染,有时候组件重复渲染如果内容是纯文本,不打印日志就不容易发现重复渲染了&#…...

mysql面试题44:MySQL数据库cpu飙升的话,要怎么处理?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL数据库cpu飙升的话,要怎么处理呢? 当MySQL数据库的CPU使用率飙升时,可能表示数据库负载过重或存在性能问题。以下是处理MySQL数据库CPU飙…...

动画圆圈文字标志效果
效果展示 CSS 知识点 实现圆圈文字animation 属性回顾 实现思路 从效果的实现思路很简单,其实就是两个圆圈就可以实现。外层大圆(灰色)用于圆圈文字的展示,而内圆(藏青色)主要用于存放 Logo 图片。布局采…...

【数据结构】二叉树--顺序结构及实现 (堆)
目录 一 二叉树的顺序结构 二 堆的概念及结构 三 堆的实现 1 包含所有接口 (Heap.h) 2 初始化,销毁和交换(Heap.c) 3 向上调整(Heap.c) 4 插入(Heap.c) 5 向下调整(Heap.c) 6 删除(Heap.c) 7 打印&#…...

适用于嵌入式单片机的差分升级通用库
转至:痞子衡嵌入式半月刊:第 81 期 1、mcu_bsdiff_upgrade - 适用于嵌入式单片机的差分升级通用库 mcu_bsdiff_upgrade 是一款适用于嵌入式单片机的差分升级库,通用所有单片机,如stm32、华大、复旦微、瑞萨等。适合嵌入式的差分升…...

Exposure Normalization and Compensation for Multiple-Exposure Correction 论文阅读笔记
这是CVPR2022的一篇曝光校正的文章,是中科大的。一作作者按同样的思路(现有方法加一个自己设计的即插即用模块以提高性能的思路)在CVPR2023也发了一篇文章,名字是Learning Sample Relationship for Exposure Correction。 文章的…...

Arduino驱动BMI160 6轴惯性运动传感器(惯性测量传感器篇)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序...

数据挖掘实战(3):如何对比特币走势进行预测?
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…...

巴以冲突中暴露的摄像头正对安全构成威胁
巴以冲突爆发后,许多配置不当的安全摄像头正暴露给黑客活动分子,使其周遭人员面临巨大安全风险。 Cybernews 研究人员发现,在以色列至少有165 个暴露的联网 RTSP 摄像头,在巴勒斯坦有 29 个暴露的 RTSP 摄像头。在巴勒斯坦&am…...

【Redis】Redis性能优化:理解与使用Redis Pipeline
原创不易,注重版权。转载请注明原作者和原文链接 文章目录 Pipeline介绍原生批命令(MSET, MGET) VS PipelinePipeline的优缺点一些疑问Pipeline代码实现 当我们谈论Redis数据处理和存储的优化方法时,「 Redis Pipeline」无疑是一个不能忽视的重要技术。…...

前端全局工具函数utils.js/正则(持续更新)
1. 接口返回提示 // 接口返回提示requestCodeTips(code, msg) {// code错误码,msg提示信息let errorrMessage switch (Number(code)) {case 400:errorrMessage 错误请求break;case 401:errorrMessage 未授权,请重新登录break;case 403:errorrMessage 拒绝访问b…...

如何基于先进视频技术,构建互联网视频监控安全管理平台解决方案
一、建设思路 依托互联网,建设一朵云,实现各类二三类视频资源统一接入,实现天网最后100米、10米、1米的全域覆盖。 依托人工智能与互联网技术,拓展视频资源在政府、社会面等多领域的全面应用;建设与运营模式并存&…...

【React native】navigation 状态重置
reset The reset action allows to reset the navigation state to the given state. It takes the following arguments: 重置操作允许将导航状态重置为给定状态: navigation.reset({index: 1,routes: [{name: Home}],});参考链接: 官方文档 https://reactnavigat…...

2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)
2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023) 题目详情题解代码(直接全部复制到test类中即可)提示:该题只需要分支覆盖得分即可,不需要变异得分 题目详情 题解代码(直接全部复制到test类中即可) package net.mooctest;import static org.…...

Centos8 openjdk升级
1、卸载旧版本 sudo dnf remove java-1.8.0-openjdk 2、搜索新版本 yum search java-11-openjdk3、安装新版本 dnf install java-11-openjdk.x86_644、验证新版本 java -version...

开启深度学习之门—《深度学习》
开启深度学习之门—《深度学习》 《深度学习》由Ian Goodfellow和Yoshua Bengio合著,以其前沿的内容和深入浅出的风格,成为了当今最受欢迎的人工智能教材之一。首先,让我们来了解一下这两位作者。Ian Goodfellow是一位备受瞩目的计算机科学家…...

优先调节阀位,条件调节阀位
控制对象的执行机构可能存在多个,举例,压力通过变频和翻板这两个执行机构调节。默认调节翻板。这里定义一个全局布尔变量 bfgflag 初始默认为0;优先调节翻板,当翻板处于极限阀位时,bfgflag 赋值为1,开始调节…...