Android原生开发基础

在这里插入图片描述

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组件暴露应用内部数据给第三方
        • 往 表里 写数据
        • 跨进程 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/877f64f84111abeb09071211bf748553.png)
  • P67 第67课 Fragment两种创建方式
        • 一变多 运行在 一个 界面里 寄宿在 Activity 里
        • 静态标签 加载
        • 自定义的 fragment
        • 动态加载
  • android实战-视频类app-3 项目UI主框架搭建
    • 3 项目UI主框架搭建
      • 5滑动视图
  • android实战-视频类app-4 MVP项目架构实现精华
    • 1介绍补充
    • 2 布局结构分析
    • 3实现布局
    • 4 配置网络请求框架
    • 5实现接口
    • 6接口测试UI实现
    • 7下拉刷新组件集成
  • Android —— 列表视图 listView
  • Android —— Spinner下拉列表
  • Android——UI主框架搭建-实现主页Tab框架
  • Android——基于MVP项目架构 配置网络请求框架(五)
  • Android——欢迎 引导 页
        • 引导页和欢迎页面 增加用户体验
        • #1准备图片素材,和底部原点。
          • #2新建两个类,GuideActivity,SplashActivity,
  • Android——币种转换App
          • 布局
          • splash 期间获取数据
  • Android——上传截图相似度对比
      • 引荐
        • 相似图片搜索的原理
        • Android里的方法来实现
  • Android——登陆逻辑实现
        • 结构设计
  • Android——登陆后台数据接口交互IDEA
      • 客户端与服务器端的通信
        • 接下来我们开发WebService 服务工程
      • 检查配置Maven
        • 新建maven WEB项目 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c49d163f60bdcdc3337c96b5ff17377e.png)
      • maven web模板项目结构
        • 新建
  • Android——登陆界面xml实现
      • 布局文件—xml实现用户登录界面
        • 1.在res/layout/activity_main.xml中编写布局内容:
        • 去掉项目中页面顶部的项目名

在这里插入图片描述

Android 原生开发基础 知识点

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 需要 适配器 展示 数据 请添加图片描述

适配器 类 的 子类 请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

放好 数据源 请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/80886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网页版 deepseek 对话问答内容导出为 PDF 文件和 Word 文件的浏览器插件下载安装和使用说明

文章目录 网页版 deepseek 浏览器扩展应用程序插件1. 预览效果2. 功能介绍3. 浏览器扩展应用程序下载3.1. 下载方式13.2. 下载方式24. 安装教程4.1. Chrome 浏览器安装步骤4.2. Edge 浏览器安装步骤5. 使用说明网页版 deepseek 浏览器扩展应用程序插件 1. 预览效果 预览效果 导…

DBdriver使用taos数据库

首先创建连接 连接后比如数据库里有三个库 选择其中的hypon 选中localhost,右键sql编辑器,打开sql控制台 就插入了一条数据

【前端】【面试】如何实现图片渐进式加载?有几种方法

前端图片渐进式加载 一、技术原理解析 渐进式加载是通过分阶段、按需加载图片,以提升用户体验和页面性能的优化技术。主要包括以下实现方式: 懒加载:基于IntersectionObserver API,当图片进入浏览器视口时才发起加载请求&#…

Spring Boot 中的条件注解

Spring Boot条件注解的汇总: 注解作用判断依据使用场景ConditionalOnBean容器中存在指定Bean时,被注解的配置或Bean定义生效指定Bean在容器中存在依赖其他已存在Bean时配置相关功能ConditionalOnCheckpointRestore在特定检查点恢复相关条件满足时生效满…

leetcode11-盛水最多的容器

leetcode 11 思路 问题分析 拆解问题,面积 底 * 高 宽度:两个竖直线之间的距离,显然是 right - left高度:容器的水位受限于较短的那根竖直线的高度,所以高度为 min(height[left], height[right]) 本题其实很容易…

HTTP:十二.HTTPS

HTTPS 概述 超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用TLS加密数据包。 HTTPS的主要目的是提供对网站服务器…

MySQL数据库(14)—— 使用C操作MySQL

目录 一,下载库 二,安装库 三,使用库 3.1 连接数据库 3.2 发送SQL 3.3 获取结果 问题:为什么不使用C? 解答:使用C的库已经可以完成绝大部分MySQL操作了,并且C的库的使用更加复杂&#xff…

Redis故障防御体系:构建七层免疫系统的设计哲学

当Redis遭遇写入阻塞或服务崩溃时,本质上是系统边界的多重防御机制被击穿。本文摒弃碎片化的解决方案,从系统工程的全局视角,构建七层递进式防御体系,揭示高可用架构的深层设计逻辑。 第一层:动态资源调度 —— 内存的…

在线文本客服系统核心功能解析

在线文本客服系统核心功能解析 在互联网大厂的Java求职者面试中,经常会被问到关于在线文本客服系统的实现和设计。本文通过一个故事场景来展示这些问题的实际解决方案。 第一轮提问 面试官:马架构,欢迎来到我们公司的面试现场。请问您对在…

学成在线。。。

一:讲师管理 介绍:可以实现对讲师的分页展示,多条件组合分页查询,对讲师的添加,修改,删除操作。 针对于添加来说,使用requestBody注解,搭配postmapping接收数据,使用service层的对象,调用mapper方法,向数据库中保存数据。 修改: 先根据讲师id,查询出讲师,再去…

Webug3.0通关笔记17 中级进阶(第01-05关)

目录 第一关 出来点东西吧 1.打开靶场 2.源码分析 3.源码修正 4.文件包含漏洞渗透 第二关 提交方式是怎样的啊? 1.打开靶场 2.源码分析 3.渗透实战 (1)bp改包法 (2)POST法渗透 第三关 我还是一个注入 1.打开…

C语言复习笔记--内存函数

在复习完字符函数和字符串函数之后,今天让我们复习一下内存函数吧.这一块的东西不太多,并且与之前的字符串函数有一些地方很相似,所以这里应该会比较轻松. memcpy使用和模拟实现 老规矩,先看函数原型 void * memcpy ( void * destination, const void * source, size_t num );…

【Unity AR开发插件】一、高效热更新:Unity AR 插件结合 HybridCLR 与 ARFoundation 的开源仓库分享

摘要 本篇博客详细介绍了我基于 HybridCLR 与 AR Foundation 的 Unity AR 开发插件,旨在为开发者提供高效的跨平台热更新方案。文章从背景与动机出发,覆盖一键安装工具、环境配置、热更新数据制作与示例程序运行等核心模块,并展示代码结构与使…

数据分析(四):Python Pandas数据输入输出全流程指南

Python Pandas数据输入输出全流程指南 1. 引言 数据输入输出(I/O)是数据分析工作流中最基础也是最重要的环节之一。Pandas提供了丰富的数据读写接口,支持从各种文件格式和数据库中加载数据,以及将处理后的数据保存到不同存储系统中。本文将全面介绍Pan…

人工智能与机器学习:Python从零实现性回归模型

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创AI未来! 🚀 前言 在 AI 的热潮中,很容易忽视那些让它得以实现的基础数学和技…

Ubuntu18.04更改时区(图文详解)

Ubuntu18.04更改时区 1、前言2、更改时区3、总结 1、前言 记录一下Ubuntu18.04更改时区的过程,方便自己日后回顾,也可以给有需要的人提供帮助。 2、更改时区 输入下面的指令,进行时区选择 tzselect输入4选择亚洲,输入9选择中…

vue2 项目使用vite2 升级 vite4 后,对别名的解析有问题,导致打包后项目无法正常运行

问题描述: 之前使用的 vite2 版本,需要在 vite.config 里配置 vue 别名,不然会有commonjs 的依赖包找不到 vue,因为 vite 默认使用 esm 版本。 vue: vue/dist/vue.common.prod.js 在 vite2 中可以正常进行打包上线,…

民办生从零学C的第十二天:指针(1)

每日励志:拼搏十年,征战沙场,不忘初心,努力成为一个浑身充满铜臭味的有钱人。 一.内存和地址 1.内存 计算机内存是一系列存储单元的集合,每个存储单元都有唯一的地址来标识。这些存储单元用于存储程序的数据和指令。…

用Postman验证IAM Token的实际操作

当我们需要用Postman发送一个最简单的请求去验证Token的时候我们该怎么办? 【一、步骤】 步骤1:打开Postman,新建一个GET请求 请求地址填: https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects 解释一下:…

关于常量指针和指向常量的指针

关于指针,对于常量指针和指向常量的指针也是傻傻分不清。看到定义时,不知道是指针不能变,还是指针指向的内容不能变量。 先看形式: const char * A; char * const B; 这两种有什么区别?傻傻分不清。 A这种定义&am…