自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4259)
  • 资源 (258)
  • 收藏
  • 关注

原创 【自动驾驶】Autoware 三大版本 ( Autoware.AI | Autoware.Auto | Autoware Core/Universe )

一、Autoware 三大版本1、版本简介2、Autoware 技术栈3、学习路径建议二、Autoware 各版本详细解析1、Autoware.AI① Autoware.AI 技术特点② Autoware.AI 优缺点③ Autoware.AI 适用场景2、Autoware.Core/Universe① 版本简介② Autoware.Core/Universe 特点③ Autoware.Core/Universe 应用场景

2025-11-24 10:42:35 779 2

原创 【Web APIs】JavaScript 事件高级 ④ ( 事件对象 | 事件对象兼容性处理 )

一、JavaScript 事件对象1、事件对象2、事件对象兼容性处理二、代码示例1、代码示例 - 事件对象① 代码示例② 执行结果

2025-11-24 10:05:45 479

原创 【Web APIs】JavaScript 事件高级 ③ ( DOM 事件流 | 捕获阶段 | 目标阶段 | 冒泡阶段 )

一、DOM 事件流1、DOM 事件流简介2、捕获阶段 Capture Phase3、目标阶段 Target Phase4、冒泡阶段 Bubbling Phase5、DOM 事件流案例说明二、代码示例1、捕获阶段 事件处理 代码示例① 代码示例② 执行结果2、冒泡阶段 事件处理 代码示例① 代码示例② 执行结果

2025-11-23 20:58:11 403 1

原创 【Web APIs】JavaScript 事件高级 ② ( 删除事件 | 删除传统方式注册事件 | 删除方法监听方式注册事件 )

一、事件注册方式1、删除传统方式注册事件2、删除方法监听方式注册事件二、完整代码示例1、代码示例2、执行结果

2025-11-23 15:58:39 593

原创 【AI 大模型】LlamaIndex 大模型开发框架 ③ ( LlamaIndex 文档结构 )

一、LlamaIndex 文档结构1、文档结构概览2、文档欢迎页3、入门指南4、学习文档5、用例说明

2025-11-22 23:15:00 610

原创 【Web APIs】JavaScript 事件高级 ① ( 元素注册事件 | 传统方式 注册事件 | 方法监听方式 注册事件 )

一、事件注册方式1、事件注册简介2、传统方式 注册事件3、方法监听方式 注册事件 ( 推荐使用 )二、代码示例1、完整代码示例2、执行结果

2025-11-22 18:41:28 524

原创 【自动驾驶】ROS 机器人操作系统框架 ② ( ROS 编译系统 | ROS 编译相关概念 | Package 包 | Catkin 工作空间 | ROS 运行相关概念 )

一、ROS 编译系统简介1、ROS 编译需求2、ROS 编译层级3、ROS 对 CMake 扩展4、ROS 编译系统相关文档5、下载 Ubuntu 16.04.7 LTS ( Xenial Xerus )二、ROS 编译相关概念1、Package 包2、package.xml 配置文件3、CMakeLists.txt 配置文件4、Catkin Workspace ( Catkin 工作空间 )三、ROS 运行相关概念1、ROS Node ( 节点 )2、ROS Parameter

2025-11-20 23:01:36 5153 11

原创 【自动驾驶】ROS 机器人操作系统框架 ① ( ROS 简介 | ROS 点对点设计 | ROS 与 自动驾驶 适配 | ROS 节点间消息传递方式 | 发布 / 订阅 模型 )

一、ROS 机器人操作系统框架1、ROS 简介2、ROS 点对点设计3、ROS 分布式设计4、ROS 与 自动驾驶 适配二、ROS 节点间消息传递方式解析1、节点间消息传递2、发布 Publish / 订阅 Subscribe 模式 四大组件3、发布 Publish / 订阅 Subscribe 模式 示例演示① 发布者工作流程② 订阅者工作流程③ ROS 主节点工作流程④ 消息传递工作流程

2025-11-17 23:10:36 1273 14

原创 【FFmpeg】FLV 格式分析 ④ ( 解析 FLV 视频文件 - 代码示例 )

FLV文件结构解析摘要(149字) FLV文件由文件头(9字节)和文件体组成,文件体包含多个"Previous Tag Size + Tag数据块"结构。Tag数据块分为3种类型:音频数据、视频数据和元数据,每种类型有独特的结构。解析程序通过读取文件到内存缓冲区,分离处理完整数据与不完整数据,并最终将音视频数据单独输出。程序使用C++的fstream以二进制模式读取FLV文件,通过主缓冲区和备份缓冲区处理2MB数据块,记录解析位置确保数据完整性。解析结果包括打印格式信息和分离音视频流到独

2025-10-23 23:45:00 25663 15

原创 【RabbitMQ】RabbitMQ 路由模式使用简介 ( RabbitMQ 核心概念 | 核心组件 | 通信模式 | 路由模式详解 | 路由模式核心组件 | 路由模式工作流程 )

一、RabbitMQ 简介1、RabbitMQ 核心概念2、RabbitMQ 组件3、RabbitMQ 通信模式二、RabbitMQ 路由模式详解1、路由模式核心组件2、路由模式工作流程三、路由模式 - 完整代码示例1、导入 RabbitMQ 依赖库2、代码示例3、执行结果

2025-10-16 23:45:00 2000 7

原创 【自动驾驶】自动驾驶概述 ⑨ ( 自动驾驶软件系统概述 | 预测系统 | 决策规划 | 控制系统 )

自动驾驶系统由四大模块组成:感知系统、预测系统、决策规划与控制系统。预测系统负责预测车辆周围交通参与者的未来行为轨迹,包括车辆、行人、骑行者等,其输出为决策规划提供关键输入,直接影响自动驾驶的安全性和平顺性。预测方式分为基于状态预测(物理运动模型和机器学习模型)和基于车道序列预测(概率图模型和深度学习模型)。决策规划层则根据预测结果生成安全、合规、舒适的行驶路径,确保自动驾驶车辆高效运行。控制系统负责执行规划指令,实现精准的车辆操控。

2025-10-14 21:01:20 5860 19

原创 【自动驾驶】自动驾驶概述 ⑧ ( 自动驾驶软件系统概述 | 感知系统 Perception | 感知原始数据 | 感知四大基础任务 | 特征提取机器学习算法 | 多传感器融合方案 )

一、感知传感器 - 原始数据1、图像数据2、点云数据3、雷达反射值数据二、基于 感知数据 的 四大基础任务1、语义分割2、目标检测 + 目标分类3、目标跟踪三、感知任务 特征提取 涉及的机器学习算法1、监督学习 ( 核心重点 )① 监督学习 - 图像数据② 监督学习 - 点云数据③ 监督学习 - 雷达反射值数据2、半监督学习3、强化学习四、多传感器融合方案1、前融合、后融合方案2、后融合方案中不同数据的任务权重

2025-10-12 18:24:08 912 9

原创 【自动驾驶】自动驾驶概述 ⑦ ( 自动驾驶软件系统概述 | 高精地图 HD Map | 高精地图特点 | 高精地图常见格式 | 定位模块 | RTK 定位 | 惯导定位 | 几何定位 )

一、高精地图 HD Map1、高精地图定义2、高精地图在自动驾驶中的地位3、高精地图 特点4、高精地图中的静态物体信息5、高精地图 与 导航地图 对比6、高精地图常见格式7、高精地图采集制作流程二、定位模块 Localization1、RTK 定位2、INS 定位3、几何定位

2025-10-09 21:41:56 2929 7

原创 【自动驾驶】自动驾驶概述 ⑥ ( 自动驾驶软件系统概述 | RTOS 操作系统 和 Framework 框架 | Autoware Universe 和 Apollo Cyber RT 开发框架 )

一、自动驾驶软件系统概述1、自动驾驶 软件系统 概述2、自动驾驶 软件系统 数据流二、RTOS 操作系统 和 Framework 框架1、RTOS 操作系统简介2、自动驾驶 Framework 层三、AutoWare Universe 和 Apollo Cyber RT 开发框架 与 自动驾驶操作系统1、自动驾驶开发框架2、自动驾驶开发框架 与 自动驾驶实时操作系统 区别3、Autoware Universe 开发框架4、Apollo Cyber RT 开发框架

2025-10-06 00:44:36 4833 23

原创 【自动驾驶】自动驾驶概述 ⑤ ( 自动驾驶硬件概述 | 车载计算单元 IPC | 车辆线控系统 )

一、车载计算单元 IPC1、车载计算单元 IPC 简介2、高性能计算3、高安全冗余4、高环境适应性二、车辆线控系统1、自动驾驶线控系统2、线控转向 ( Steer-by-Wire )3、线控制动 ( Brake-by-Wire )4、线控驱动 ( Throttle-by-Wire )5、线控换挡 ( Shift-by-Wire )6、线控悬挂 ( Suspension-by-Wire )7、线控系统举例说明

2025-09-24 22:00:00 1596 16

原创 【自动驾驶】自动驾驶概述 ④ ( 自动驾驶 整体架构 | 车端系统架构 | 云端系统架构 | 自动驾驶硬件概述 | 前视、侧视、环视摄像头 | 激光、毫米波、超声波雷达 )

一、自动驾驶 整体架构1、自动驾驶整体架构图2、自动驾驶 车端系统 架构3、自动驾驶 云端系统 架构二、自动驾驶 硬件概述1、自动驾驶 硬件 简介2、摄像头简介 - 前视摄像头、侧视摄像头、环视摄像头前视摄像头侧视摄像头环视摄像头3、雷达简介 - 激光雷达、毫米波雷达 、超声波雷达激光雷达毫米波雷达超声波雷达激光雷达 、 毫米波雷达 、 超声波雷达 基本参数对比

2025-09-05 10:30:25 3139 20

原创 【自动驾驶】自动驾驶概述 ③ ( V2X 简介 | V2X 在自动驾驶中的生态位 | 自动驾驶技术发展方向 - 单车智能主导、V2X 补充 | C-V2X 通信协议 LTE-V2X、5G-V2X )

一、V2X 简介1、V2X 概念2、V2X 在自动驾驶中的生态位3、V2X 基础设施示例二、自动驾驶技术发展方向 - 单车智能主导、V2X 补充1、单车智能主导2、V2X 补充 - 提升车路协同上限三、V2X 通信协议简介1、V2X 通信协议 - C-V2X、DSRC2、C-V2X 蜂窝车联网 - LTE-V2X、5G-V2X / NR-V2X3、C-V2X 技术发展路线📡 C-V2X 接入层 ( PC5 接口 ) 标准演进详解 ( 3GPP主导 )

2025-08-20 16:43:18 6564 9

原创 【Android】Android 手机通过 OTG 接口进行有线网络连接 ( OTG 网络接口分析 | 使用 adb 进行 Android 网络配置 | OTG 网络配置 )

一、OTG 网络接口分析1、OTG 有线网络连接2、不同手机厂商支持3、OTG 有线网络配置二、使用 adb 进行 Android 网络配置1、ifconfig 查看网络配置2、wlan0 网络配置3、p2p0 网络配置4、rmnet_data2 网络配置5、rmnet_data2 网络配置三、OTG 网络配置

2025-08-18 17:34:59 3282 2

原创 【自动驾驶】自动驾驶概述 ② ( 自动驾驶技术路径 | L0 ~ L5 级别自动驾驶 )

一、自动驾驶技术路径1、L0 级别 自动驾驶2、L1 级别 自动驾驶3、L2 级别 自动驾驶4、L3 级别 自动驾驶5、L4 级别 自动驾驶6、L5 级别 自动驾驶

2025-08-15 23:10:37 1755 6

原创 【自动驾驶】自动驾驶概述 ① ( 自动驾驶 与 无人驾驶 | 自动驾驶 相关岗位 及 技能需求 )

一、自动驾驶 与 无人驾驶1、自动驾驶2、无人驾驶二、自动驾驶 相关岗位 及 技能需求

2025-08-14 22:42:32 1228 1

原创 【Web APIs】JavaScript 节点操作 ⑫ ( 动态创建元素效率分析 )

一、动态创建元素常用方式二、动态创建元素 效率对比分析1、element.innerHTML += 逐个追加 HTML 结构2、element.innerHTML += 一次性追加 HTML 结构3、document.createElement() 插入多个 HTML 元素三、代码示例 - 动态创建元素效率对比 ( 创建并插入 1000 个元素标签 )1、element.innerHTML += 逐个追加 HTML 结构 - 2247 ms2、element.innerHTML += 一次性追

2025-08-14 10:22:34 929

原创 【Web APIs】JavaScript 节点操作 ⑪ ( 动态创建元素的三种方式 | document.write | element.innerHTML | createElement )

一、document.write() 方式动态创建元素1、document.write() 函数简介2、代码示例 - document.write() 创建元素二、element.innerHTML 方式动态创建元素1、element.innerHTML 方式简介2、代码示例 - element.innerHTML 方式动态创建元素三、document.createElement() 方式动态创建元素1、document.createElement() 函数简介2、代码示例 - docume

2025-08-13 08:51:23 1373

原创 【Web APIs】JavaScript 节点操作 ⑩ ( 节点操作综合案例 - 动态生成表格案例 )

一、节点操作综合案例 - 动态生成表格案例1、需求说明2、表格标签结构 - HTML 标签结构3、CSS 样式4、数据对象 - JavaScript 对象5、节点操作 - 创建 表格节点 并插入 DOM 树6、节点操作 - 创建 删除链接 节点并插入 DOM 树7、事件操作 - 添加删除事件二、节点操作综合案例 - 完整代码1、代码示例2、运行效果

2025-07-27 20:56:22 1310

原创 【Web APIs】JavaScript 节点操作 ⑨ ( 复制节点 | cloneNode 函数 | 代码示例 )

一、JavaScript 复制节点1、复制节点简介2、cloneNode 函数原型3、复制节点 - 案例代码示例执行结果

2025-07-26 13:07:37 1081

原创 【Web APIs】JavaScript 节点操作 ⑧ ( 删除节点 - removeChild 函数 | 删除节点 - 代码示例 | 删除网页评论案例 )

一、JavaScript 删除节点1、删除节点 - removeChild 函数2、删除节点 - 代码示例代码示例执行结果二、JavaScript 删除节点 - 删除网页评论案例1、案例说明2、动态生成 HTML3、屏蔽链接跳转动作4、屏蔽链接跳转动作5、右浮动样式6、完整代码示例7、执行结果

2025-07-24 22:39:57 1049

原创 【Web APIs】JavaScript 节点操作 ⑦ ( 创建节点案例 | 网页评论功能 )

一、JavaScript 创建节点案例1、需求说明2、CSS 样式说明清除元素内外边距文本域样式按钮样式列表样式3、JavaScript 脚本 - 创建并添加元素获取 DOM 元素为 按钮 设置点击事件创建元素添加元素二、完整代码示例1、代码示例2、执行结果

2025-07-23 23:16:42 728 2

原创 【Web APIs】JavaScript 节点操作 ⑥ ( 创建和添加节点 | 创建标签节点 | 创建文本节点 | 创建文档片段 | 添加节点 | 代码示例 )

一、JavaScript 创建节点1、创建标签节点2、创建文本节点3、创建文档片段二、JavaScript 添加节点三、创建并添加节点 - 代码示例1、代码示例2、执行结果

2025-07-23 12:28:35 855

原创 【Web APIs】JavaScript 节点操作 ⑤ ( 操作兄弟节点 | 获取兄弟节点属性 | 自定义兼容函数 )

一、JavaScript 兄弟节点操作1、获取兄弟节点属性 - previousSibling、nextSibling、previousElementSibling、nextElementSibling 属性2、获取兄弟节点属性 - 自定义兼容函数二、兄弟节点操作 - 代码示例1、完整代码示例2、执行结果

2025-07-23 10:39:09 1171

原创 【Web APIs】JavaScript 节点操作 ④ ( 节点操作案例 - 下拉菜单案例 )

一、节点操作案例 - 下拉菜单案例1、基础布局简介2、节点操作3、完整代码示例

2025-07-22 18:33:05 1109

原创 【Web APIs】JavaScript 节点操作 ③ ( 子节点操作 | firstChild 属性 | firstElementChild 属性 | children[0] 属性 )

一、JavaScript 子节点操作1、获取子节点需求2、firstChild 和 lastChild 属性 ( 不推荐 - 基于所有类型节点 )3、firstElementChild 和 lastElementChild 属性 ( 不推荐 - 兼容性问题 )4、children[0] 和 children[element.children.length - 1] 属性 ( 推荐 - 实际用法 )5、完整代码示例

2025-07-21 22:05:13 930

原创 【Web APIs】JavaScript 节点操作 ② ( DOM 节点层级 | 利用节点间的层次关系获取元素 | 遍历节点层级 | 获取 父节点 / 子节点 代码示例 )

一、JavaScript 节点操作1、DOM 节点层级2、利用节点间的层次关系获取元素3、遍历节点层级二、JavaScript 节点操作 代码示例1、获取父节点2、获取子节点

2025-07-20 22:47:24 1425

原创 【Web APIs】JavaScript 节点操作 ① ( DOM 方式获取标签元素的弊端 | 节点简介 | DOM 节点概述 | 节点基本属性 - 节点类型、节点名称、节点值 )

一、DOM 方式获取标签元素1、DOM 方式获取标签元素2、DOM 方式获取标签元素的弊端3、DOM 方式获取标签元素示例二、节点简介1、DOM 节点概述2、节点基本属性 - 节点类型、节点名称、节点值3、代码示例

2025-07-20 18:14:37 799

原创 【Web APIs】JavaScript 自定义属性操作 ② ( H5 自定义属性 )

一、H5 自定义属性1、H5 自定义属性 概念简介2、H5 自定义属性 访问方法3、H5 自定义属性 应用场景二、H5 自定义属性 代码示例

2025-07-19 22:03:06 1274 1

原创 【Java Swing 图形界面编程】JList 列表组件 ② ( DefaultListModel 数据模型 | 动态添加数据 | 动态删除数据 | 动态修改数据 | 数据监听与事件通知 )

一、JList 组件 DefaultListModel 数据模型1、DefaultListModel 简介2、动态添加数据3、动态删除数据4、动态修改数据5、数据监听与事件通知二、DefaultListModel 数据模型动态操作数据项示例1、为 JList 设置滚动条2、为 JList 设置选择模式3、设置 JList 默认4、完整代码示例

2025-07-03 00:19:43 854

原创 【Java Swing 图形界面编程】JList 列表组件 ① ( JList 组件简介 | 核心作用 | 关键特性 | 基础用法示例 )

一、JList 组件简介1、JList 概念简介2、JList 核心作用3、JList 关键特性二、JList 组件基础用法示例1、使用 String 数组构建列表项2、使用 Vector 集合构建列表项3、使用 DefaultListModel 构建列表项

2025-07-02 22:00:00 784

原创 【错误记录】Android Studio 编译报错 ( Lint found fatal errors while assembling a release target. )

1: Task failed with an exception.-----------* What went wrong:Execution failed for task ':app:lintVitalRelease'.> Lint found fatal errors while assembling a release target. To proceed, either fix the issues identified by lint, or modify your build

2025-06-20 15:07:32 934 1

原创 【错误记录】Android Studio 编译报错 ( Failed to read key key0 from store “**/key“ Invalid keystore format )

Android Studio 窗口界面中创建的 打包签名文件是 jdk 21.0.6 版本的 , 应用程序 编译使用的时 jdk 1.8 版本的 , jdk 版本不兼容 , 导致了打包签名时报错的问题 ; 执行 `keytool -genkeypair -v -keystore my.keystore -alias key0 -keyalg RSA -keysize 2048 -validity 10000` 命令 , 创建 符合 命令行 JDK 版本的 keystore 签名文件 ;

2025-06-20 14:50:50 822

原创 【错误记录】Mac 中 Android Studio 编译报错 ( com.android.ide.common.signing.KeytoolException: Failed to read )

Execution failed for task ':app:packageDebug'.> A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey f

2025-06-16 16:20:59 723 1

原创 【错误记录】Mac 命令行执行 brew 命令报错 ( Error: Failed to upgrade Homebrew Portable Ruby! )

To retry an incomplete download, remove the file above.Error: Failed to upgrade Homebrew Portable Ruby!

2025-06-16 16:06:18 1050

原创 【错误记录】Android Studio 编译报错 ( Namespace not specified. Specify a namespace in the module‘s build fil )

Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.If you've specified the package attribute in the source AndroidManifest

2025-06-16 14:19:30 3235

【OpenHarmony】ArkTS 语法基础 ③ ( 自定义组件生命周期回调函数 - 页面生命周期回调函数 )

【OpenHarmony】ArkTS 语法基础 ③ ( @Component 自定义组件生命周期回调函数 | @Entry 页面生命周期回调函数 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139424435 博客源码快照 一、ArkTS @Component 自定义组件生命周期 1、自定义组件生命周期 2、aboutToAppear 函数执行时机和作用 3、aboutToDisappear 函数执行时机和作用 4、代码示例 二、ArkTS @Entry 页面生命周期 1、@Entry 页面生命周期 2、onBackPress 和 onPageHide 回调函数无关联 三、代码示例 - @Entry 页面生命周期 + @Component 自定义组件生命周期 1、代码示例 - @Component 自定义组件生命周期 2、代码示例 - @Entry 页面生命周期 3、进入页面后的效果 4、屏幕熄灭 4、屏幕点亮 5、按下 Home 键 6、Home 键返回 7、回退键退出应用

2024-06-04

【OpenHarmony】 ArkTS 语法基础 ② ( ArkTS 自定义组件 )

【OpenHarmony】ArkTS 语法基础 ② ( ArkTS 自定义组件 | 自定义可导入组件 - export 声明模块 | 导入自定义组件 - import 导入组件 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139407374 博客源码快照 一、ArkTS 自定义组件 1、@Component 装饰器 2、自定义组件语法 3、将自定义组件设置为页面入口 二、ArkTS 使用外部自定义组件 1、自定义可导入组件 - export 声明模块 2、导入自定义组件 - import 导入组件

2024-06-03

Windows 10 平台 FFmpeg 开发环境搭建 博客资源

【FFmpeg】Windows 10 平台 FFmpeg 开发环境搭建 ④ ( FFmpeg 开发库内容说明 | 创建并配置 FFmpeg 项目 | 拷贝 DLL 动态库到 SysWOW64 目录 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139172564 博客资源 一、FFmpeg 开发库 1、FFmpeg 开发库编译 2、FFmpeg 开发库内容说明 二、创建并配置 FFmpeg 项目 1、拷贝 dll 动态库到 C:\Windows\SysWOW64 目录 - 必须操作 特别关注 2、创建 Qt 项目 - C 语言程序 3、配置 FFmpeg 开发库 - C 语言项目 4、创建并配置 FFmpeg 开发库 - C++ 项目

2024-05-24

FFmpegFilter 过滤器 ⑥ ( 九宫格画面拼接 ) 博客资源

【FFmpeg】Filter 过滤器 ⑥ ( 九宫格画面拼接 ) 博客资源 博客地址 : https://hanshuliang.blog.youkuaiyun.com/article/details/139008847

2024-05-17

【移动端网页布局】Flex 弹性布局案例 ③

【移动端网页布局】Flex 弹性布局案例 ③

2024-03-06

GIF录屏工具-Gif123-GifCam-LICEcap

GIF录屏工具-Gif123-GifCam-LICEcap

2024-03-04

Java 语言中的 properties 配置文件使用

【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 ) https://hanshuliang.blog.youkuaiyun.com/article/details/134435350 博客源码

2023-11-16

JetpackNavigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )

https://hanshuliang.blog.youkuaiyun.com/article/details/131406972 博客源码快照 一、页面跳转间的传统的数据传递方式 1、传统的数据传递方式 - Bundle 传递数据 1、Navigation 组件中的 Bundle 数据传递 2、传统数据传递实现步骤 3、FragmentA 完整代码示例 4、FragmentB 完整代码示例 5、执行结果 2、使用 Bundle 传递数据安全性差 二、页面跳转间的传统的数据传递方式 1、导入插件依赖 2、使用插件 3、在 navigation_graph.xml 中定义要传递的 argument 参数信息 4、重新编译生成参数传递相关代码 5、调用 FragmentBArgs 类生成参数 Bundle 6、FragmentA 中获取参数 三、两种传参方式的完整代码示例 1、Gradle 构建脚本 I、根目录下 settings.gradle 构建脚本 II、根目录下 build.gradle 构建脚本 III、Module 目录下 build.gradle 构建脚本 2、res 资源配置

2023-08-25

可运行的 Android 版本的 ijkplayer 2023年 8 月 14 日调试完毕

运行环境 : 2021.3.1 Dolphin , Android Gradle 插件版本号 3.2.0 , Gradle 版本号 gradle-4.6-all.zip 【ijkplayer】编译 Android 版本的 ijkplayer ⑦ ( 使用 AS 打开源码 | 重新设置 AGP 和 Gradle 版本号 | 设置依赖仓库 | 设置依赖 | 编译运行 ) 原文链接:https://blog.youkuaiyun.com/shulianghan/article/details/132274142 一、Android Studio 打开编译后的 ijkplayer 源码 二、重新设置 Android Gradle 插件版本号和 Gradle 构建工具版本号 三、设置依赖仓库 1、取消 jcenter 仓库 2、添加 google 和 mavenCentral 仓库 3、添加阿里云仓库 四、取消 jcenter 上传相关插件 五、设置编译工具版本号 六、取消 productFlavors 七、设置 build.gradle 中的依赖为 implementation 依赖 八、编译应用

2023-08-14

hadoop-3.3.4.tar.gz + winutils 安装环境

【开发环境】安装 Hadoop 运行环境 ( 下载 Hadoop | 解压 Hadoop | 设置 Hadoop 环境变量 | 配置 Hadoop 环境脚本 | 安装 winutils ) https://hanshuliang.blog.youkuaiyun.com/article/details/132045605 一、下载 Hadoop 二、解压 Hadoop 三、设置 Hadoop 环境变量 四、配置 Hadoop 环境脚本 五、安装 winutils 六、重启电脑 七、验证 Hadoop 安装效果

2023-08-03

JetpackNavigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 )

【Jetpack】Navigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 ) 博客源码快照 博客地址 : https://hanshuliang.blog.youkuaiyun.com/article/details/131405392 一、为 Navigation Graph 添加跳转动画 1、进入 Navigation Graph 配置的 Design 模式 2、选中 action 跳转 3、为 action 跳转设置 enterAnim 进入动画 4、为 action 跳转设置 exitAnim 退出动画 5、通过代码为 action 跳转设置进入 / 退出动画

2023-06-26

JetpackNavigation 导航组件 ②

【Jetpack】Navigation 导航组件 ② ( Navigation 核心要点说明 | 创建 Navigation Graph | 创建 NavHostFragment | 完整代码示例 ) https://hanshuliang.blog.youkuaiyun.com/article/details/131299078

2023-06-21

DB Browser for SQLite 数据库查看工具

DB Browser for SQLite 数据库查看工具

2023-06-14

ViewModel + LiveData + DataBinding 综合使用示例

【Jetpack】ViewModel + LiveData + DataBinding 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 ) 博客地址 : https://hanshuliang.blog.youkuaiyun.com/article/details/130401679 一、ViewModel + LiveData + DataBinding 核心要点 1、ViewModel 使用要点 2、LiveData 使用要点 3、DataBinding 使用要点 二、ViewModel + LiveData + DataBinding 代码示例 1、ViewModel + LiveData 代码 2、build.gradle 构建脚本 - 启用 DataBinding 3、DataBinding 布局文件 - 配置 ViewModel 类 4、Activity 系统组件代码 - 加载 DataBinding 布局 / 布局配置 ViewModel 对象 / 设置 LiveData 观察者 5、执行结果

2023-04-27

BaseObservable 实现数据模型 Model 与视图 View 双向绑定

BaseObservable 实现数据模型 Model 与视图 View 双向绑定

2023-04-18

DataBinding 架构组件 ④

【Jetpack】DataBinding 架构组件 ④ ( 使用 @BindingAdapter 注解为布局组件绑定自定义逻辑 | 网络图片加载 | 本地图片加载 ) https://blog.youkuaiyun.com/shulianghan/article/details/130043460 一、@BindingAdapter 注解 1、注解简介 2、使用 @BindingAdapter 注解为布局组件绑定自定义逻辑 二、使用 @BindingAdapter 注解绑定加载网络图片静态方法 三、使用 @BindingAdapter 注解绑定加载本地图片静态方法 四、使用 @BindingAdapter 注解绑定加载网络图片或本地图片静态方法 五、完整代码示例 1、build.gradle 构建脚本 2、AndroidManifest.xml 清单文件 3、DataBinding 布局文件 4、BindingAdapter 注解类 5、MainActivity 组件 6、执行结果

2023-04-18

DataBinding 架构组件 ③

【Jetpack】DataBinding 架构组件 ③ ( 使用 include 导入二级界面布局 | 二级页面绑定数据模型 ) https://hanshuliang.blog.youkuaiyun.com/article/details/129899735 一、使用 include 导入二级界面布局 二、二级页面绑定数据模型 1、将二级界面布局转为 DataBinding 布局 2、在主布局中为二级界面布局传递数据模型 三、核心代码示例 1、主布局 2、子布局 3、Java 代码 4、执行结果

2023-04-04

DataBinding 架构组件 ② - DataBinding 布局中使用 import 标签导入 Java、Kotlin 类

【Jetpack】DataBinding 架构组件 ② ( 字符串拼接函数 | 绑定点击事件函数 | DataBinding 布局中使用 import 标签导入 Java、Kotlin 类 ) https://hanshuliang.blog.youkuaiyun.com/article/details/129773150 一、字符串拼接函数 二、绑定点击事件函数 三、DataBinding 布局中使用 import 标签导入 Java、Kotlin 类 1、DataBinding 布局中使用 import 标签导入 Java 类 2、DataBinding 布局中使用 import 标签导入 Kotlin 类 四、完整代码示例 1、数据类 2、导入的 Java 类 3、导入的 Kotlin 类 4、DataBinding 布局文件 5、Activity 组件类

2023-03-26

DataBinding 架构组件

【Jetpack】DataBinding 架构组件 ( 数据绑定技术简介 | Android 中的 DataBinding 数据绑定 | 启动数据绑定 | 定义数据类 | 布局文件转换 ) https://hanshuliang.blog.youkuaiyun.com/article/details/129762717 博客源码快照 一、数据绑定技术简介 二、Android 中的 DataBinding 数据绑定技术 三、Android 中的 DataBinding 代码示例 1、build.gradle 构建脚本 - 启动数据绑定 2、定义数据类 3、布局文件转换 4、Activity 组件设置数据绑定布局和数据 5、显示效果 ———————————————— 版权声明:本文为优快云博主「韩曙亮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/shulianghan/article/details/129762717

2023-03-25

JetpackLiveData 架构组件

【Jetpack】LiveData 架构组件 ( LiveData 简介 | LiveData 使用方法 | ViewModel + LiveData 示例 ) https://hanshuliang.blog.youkuaiyun.com/article/details/129411132 博客源码示例 一、LiveData 简介 二、LiveData 使用方法 三、ViewModel + LiveData 简单示例 1、ViewModel + LiveData 代码 2、Activity 组件代码 3、运行效果展示 四、ViewModel + LiveData + Fragment 通信示例 1、ViewModel + LiveData 代码 2、Activity 组件代码 Activity 代码 布局文件 3、Fragment 代码 第一个 Fragment 代码 第一个 Fragment 布局文件 第二个 Fragment 代码 第二个 Fragment 布局文件 4、运行效果展示

2023-03-12

JetpackViewModel 架构组件 博客源码

【Jetpack】ViewModel 架构组件 ( 视图 View 和 数据模型 Model | ViewModel 作用 | ViewModel 生命周期 | 代码示例 | 使用注意事项 ) https://hanshuliang.blog.youkuaiyun.com/article/details/129374914 一、Activity 遇到的问题 二、视图 View 和 数据模型 Model 三、ViewModel 架构组件作用 四、ViewModel 代码示例 1、ViewModel 视图模型 2、Activity 组件 3、UI 布局文件 4、运行效果 五、ViewModel 生命周期 六、ViewModel 使用注意事项 ———————————————— 版权声明:本文为优快云博主「韩曙亮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/shulianghan/article/details/129374914

2023-03-07

博客资料 -JetpackLifeCycle 架构组件

【Jetpack】Lifecycle 架构组件 ( 系统组件与普通组件解耦 | Lifecycle 解耦系统组件与普通组件 | 解耦服务组件与普通组件 | 监听应用程序生命周期 ) https://hanshuliang.blog.youkuaiyun.com/article/details/129291874 一、系统组件与普通组件解耦 二、Lifecycle 解耦 Activity 系统组件与 UI 组件 1、传统实现方式 ① Activity 系统组件 ② 布局文件 ③ 执行效果 2、LifeCycle 实现方式 ① 自定义 UI 组件 ② Activity 系统组件 ③ 布局组件 ④ 执行效果 三、LifecycleService 解耦 Service 与 UI 组件 1、构建脚本导入依赖 2、Android Studio 中搜索并添加依赖 3、布局文件属性排序 4、代码实现 ① LifecycleService 组件 ② LifecycleObserver 业务逻辑 ③ AndroidManifest.xml 清单文件 ④ Activity 系统组件

2023-03-03

FFmpegFLV 格式分析 ④ ( 解析 FLV 代码分析 )

【FFmpeg】FLV 格式分析 ④ ( 解析 FLV 代码分析 ) https://hanshuliang.blog.youkuaiyun.com/article/details/145478719 博客源码

2025-10-17

【JT/T 808协议】808 协议开发笔记 ① 博客资源

【JT/T 808协议】808 协议开发笔记 ① ( JT/T 808 协议简介 | 协议数据分析 | 连接建立与断开 与 终端的注册和鉴权 | Java 代码参考 ) 博客地址 : https://blog.youkuaiyun.com/shulianghan/article/detail 一、协议简介 1、JT/T 808 协议简介 2、JT/T 808 协议应用场景 二、协议数据分析 1、数据类型 2、数据消息结构 3、标志位 4、消息头 ① 消息体属性格式 ② 消息包封装项 ③ 消息流水号 ④ 总结 5、消息体 6、校验码 三、连接建立与断开 与 终端的注册和鉴权 1、连接建立与断开 2、心跳包案例 3、终端注册与注销 4、终端鉴权 四、Java 代码参考 1、常见的消息类型 2、工具类 3、消息头封装类 4、拼接数据封装类

2025-02-21

AndroidAndroid 悬浮窗开发

【Android】Android 悬浮窗开发

2025-02-18

FFmpegH.264 格式分析 ② ( 网络抽象层单元 NALU - NALU 功能结构 - VCL 视频编码层 - NAL 网络提取层 - H.264 封装模式 - annexb 模式 )

一、网络抽象层单元 - NALU ( Network Abstraction Layer Unit ) 1、NALU 简介 2、NALU 常见的数据类型 3、NALU 传输注意事项 4、NALU 功能结构 ① 视频编码层 ② 网络提取层 ③ NALU 的 VCL 和 NAL 对应的 nal_unit_type 类型 5、NALU 数据结构 ① Start Code 起始标志位 ② NALU Header 头 ③ NALU Payload 载荷 二、H.264 封装模式 - annexb模式 / MP4 模式 1、Annex B 模式 2、MP4 模式 3、Annex B 和 MP4 模式的对比 三、将 MP4 模式 转为 Annex B 模式

2025-01-07

【Android UI】SurfaceView中使用 Canvas 绘制可缩放大图

【Android UI】SurfaceView中使用 Canvas 绘制可缩放大图 ( 拖动和缩放相关的变量 | Canvas 绘图函数 | 手势识别 多点触控流程 | 拖动图片 | 缩放图片 ) 博客链接:https://blog.youkuaiyun.com/shulianghan/article/details/143950948 一、需求分析 和 核心要点 说明 1、需求说明 2、核心要点 - 拖动和缩放相关的变量 3、核心要点 - Canvas 绘图函数 4、核心要点 - 手势识别 多点触控流程 5、核心要点 - 拖动图片 6、核心要点 - 缩放图片 二、完整代码示例 1、环境说明 2、SurfaceView 完整代码 3、运行结果

2024-11-21

FFmpegSDL 音视频开发 ⑦ ( 播放 PCM 音频数据 )

【FFmpeg】SDL 音视频开发 ⑦ ( 播放 PCM 音频数据 | 提取 PCM 格式数据 | 设置音频参数 | 打开音频设备 | 设置播放回调函数 | 播放音频数据 | 关闭音频设备 ) 博客地址 : https://hanshuliang.blog.youkuaiyun.com/article/details/141950997 一、PCM 格式简介 1、PCM 简介 2、PCM 参数 3、声音频率 ( 注意与采样率区分 ) 4、使用 ffmpeg 获取 PCM 格式数据 5、使用 ffplay 播放 PCM 格式数据 二、SDL 播放 PCM 流程 1、初始化 SDL 2、设置音频参数 3、打开音频设备 4、设置播放回调函数 5、播放音频数据 6、关闭音频设备 7、SDL 播放 PCM 音频数据的 关键步骤 代码示例 三、完整代码示例 1、完整代码示例 2、执行结果

2024-09-10

FFmpegSDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 )

【FFmpeg】SDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 | YUV 4:2:0 采样 | YUV420P 格式介绍 | 获取 YUV 视频文件 | 读取并加载 YUV 画面数据 ) 博客地址:https://blog.youkuaiyun.com/shulianghan/article/details/141900912 一、SDL 播放 YUV 视频 1、YUV 4:2:0 采样 2、YUV420P 格式介绍 3、获取 YUV 视频文件 4、读取 YUV 画面数据 5、加载 YUV 视频数据 二、完整代码示例 1、代码示例 2、执行效果

2024-09-05

【AI 大模型】函数调用 Function Calling ② ( 函数调用 引入 - 函数调用开发流程 - 代码示例 )

【AI 大模型】函数调用 Function Calling ② ( Plugins、Actions 扩展 | 函数调用 Function Calling 引入 | 函数调用开发流程 | 代码示例 ) https://hanshuliang.blog.youkuaiyun.com/article/details/140380268 博客代码示例 一、Plugins、Actions 扩展 1、GPT 大模型缺陷 - 引入 Plugins、Actions 扩展 2、Plugins 插件 3、Plugins 插件开发流程 4、Plugins 插件弊端 - Actions 引入 5、Actions 简介 二、ChatGPT 的平替 - Coze、Dify 三、函数调用 Function Calling 引入 四、函数调用开发流程 1、调用 OpenAI 的接口 2、函数定义 3、大模型回调 4、本地代码逻辑 5、第二次大模型调用 五、函数调用代码示例

2024-07-20

【AI 大模型】OpenAI 接口调用 ① ( PyCharm 中开发 Python 程序调用 OpenAI 接口 )

【AI 大模型】OpenAI 接口调用 ① ( 安装 openai 软件包 | 查看 openai 软件包版本 | PyCharm 中开发 Python 程序调用 OpenAI 接口 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139922167 博客源码快照 一、安装 Python SDK 二、安装 OpenAI Python SDK 1、安装 openai 软件包 2、查看 openai 软件包版本 3、openai 接口参考文档 三、PyCharm 中开发 Python 程序调用 OpenAI 接口 1、PyCharm 创建 Python 项目 2、购买 API Key 3、API Key 配置用法 4、中转 API 与 直联 API 使用注意事项 5、Python 代码示例

2024-06-24

FFmpegSDL 音视频开发 ④ ( SDL 多线程 / 创建线程 / 等待线程执行完毕 )

【FFmpeg】SDL 音视频开发 ④ ( SDL 多线程 | SDL_Thread 结构体 | SDL_CreateThread 函数创建线程 | SDL_WaitThread 函数等待线程执行 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139760886 博客源码快照 一、SDL 多线程简介 1、SDL 多线程引入 2、SDL_Thread 多线程模型 二、SDL 多线程相关函数 1、SDL 创建线程 - SDL_CreateThread 函数 2、SDL 等待线程执行完毕 - SDL_WaitThread 函数 三、SDL 线程代码示例 - 创建并等待线程执行完毕 1、代码示例 2、执行结果

2024-06-18

FFmpegSDL 音视频开发 ③ ( SDL 事件处理 )

【FFmpeg】SDL 音视频开发 ③ ( SDL 事件处理 | SDL_Event 数据结构分析 | 事件处理流程 | SDL 事件获取函数 | SDL_WaitEvent 函数 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139669401 博客源码快照 一、SDL 事件处理简介 1、SDL 事件处理引入 2、SDL 事件处理步骤 二、SDL 事件数据结构分析 1、SDL_Event 事件 - union 联合体 2、SDL_Event 事件处理流程 三、SDL 事件函数 1、SDL_PollEvent 函数 2、SDL_WaitEvent 函数 四、完整代码示例 1、代码示例 2、执行结果

2024-06-14

算法Graham 凸包扫描算法 ( 凸包概念 - 常用的凸包算法 - 角排序 - 叉积 - Python 代码示例 )

【算法】Graham 凸包扫描算法 ( 凸包概念 | 常用的凸包算法 | 角排序 | 叉积 | Python 代码示例 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139651095 博客源码快照 一、Graham 凸包扫描算法 1、凸包概念 2、常用的凸包算法 3、Graham 凸包扫描算法 二、Graham 算法前置知识点 1、角排序 2、叉积 3、算法过程分析 三、代码示例 1、完整代码示例 2、执行结果

2024-06-13

FFmpegSDL 音视频开发 ②

【FFmpeg】SDL 音视频开发 ② https://hanshuliang.blog.youkuaiyun.com/article/details/139592113 博客源码快照

2024-06-11

FFmpegSDL 音视频开发 ① ( SDL 窗口绘制 )

【FFmpeg】SDL 音视频开发 ① ( SDL 窗口绘制 | SDL 视频显示函数 | SDL_Window 窗口 | SDL_Renderer 渲染器 | SDL_Texture 纹理 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139528565 博客源码快照 一、SDL 视频显示函数 1、SDL_Init 函数 2、SDL_Quit 函数 3、SDL_CreateWindow 函数 4、SDL_CreateRenderer 函数 5、SDL_CreateTexture 函数 6、窗口 / 渲染器 / 纹理 关联 二、SDL 窗口绘制 - 代码示例 1、SDL 窗口绘制代码 2、执行结果

2024-06-07

FFmpegSDL 开发环境搭建

【FFmpeg】SDL 开发环境搭建 ( SDL 简介 | 下载 SDL 开发库 | 拷贝动态库到 C:\Windows\SysWOW64 目录 | 将 SDL 开发库配置到 Qt 项目 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139516815 博客源码快照 一、SDL 简介 1、SDL 简介 2、SDL 相关网站 二、SDL 开发环境搭建 1、下载 SDL 开发库 2、SDL 开发库内容解析 3、拷贝动态库到 C:\Windows\SysWOW64 目录 4、创建 Qt 项目 5、将 SDL 开发库配置到 Qt 项目 6、SDL 窗口示例

2024-06-07

【OpenHarmony】ArkTS 语法基础 ⑥ ( ArkTS 状态管理 - @Link 装饰器 )

【OpenHarmony】ArkTS 语法基础 ⑥ ( ArkTS 状态管理 | @Link 装饰器 | 子组件定义使用 @Link 变量 | 父容器中定义 @State 变量并绑定子组件变量 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139466799 博客源码快照 一、ArkTS 状态管理 - @Link 装饰器 1、@Link 装饰器 2、子组件定义 @Link 变量 3、子组件中使用 @Link 变量 4、父容器中定义 @State 变量 6、父容器中绑定 @State 变量和 @Link 变量 二、完整代码示例 1、自定义组件代码 2、父容器组件代码 3、执行结果

2024-06-05

【OpenHarmony】ArkTS 语法基础 ⑤ ( ArkTS 状态管理 / @State 装饰器定义状态数据 )

【OpenHarmony】ArkTS 语法基础 ⑤ ( ArkTS 状态管理 | @State 装饰器定义状态数据 | 使用状态数据渲染组件 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139452711 博客源码快照 一、ArkTS 状态管理 - @State 装饰器 1、@State 装饰器定义状态数据 2、@State 装饰器定义状态数据 - 示例分析 3、使用 @State 装饰器定义的状态数据渲染组件 - 示例分析 二、完整代码示例 1、完整自定义组件代码示例 2、展示效果

2024-06-05

【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 - 条件渲染 - 循环渲染 )

【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 | if else 条件渲染 | ForEach 循环渲染 ) https://hanshuliang.blog.youkuaiyun.com/article/details/139441781 博客源码快照 一、ArkTS UI 渲染控制 1、if else 条件渲染 2、ForEach 循环渲染 二、完整代码示例 1、自定义组件代码 2、主界面代码 3、执行结果

2024-06-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除