视频教程-Android驱动深度开发视频教程-驱动/内核开发

这是一门由技术总监韦东山主讲的Android驱动深度开发视频教程,内容包括bootloader、内核移植、框架、binder驱动等,适合希望转型或提升驱动开发能力的程序员。课程提供7项超值权益,为期68天的学习计划,帮助你在短时间内掌握大牛的3年项目经验。
摘要由CSDN通过智能技术生成

扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

APP订阅课程,领取优惠,最少立减5元 ↓↓↓

订阅后:请点击此处观看视频课程

 

视频教程-Android驱动深度开发视频教程-驱动/内核开发

学习有效期:永久观看

学习时长:4056分钟

学习计划:68天

难度:

 

口碑讲师带队学习,让你的问题不过夜」

讲师姓名:韦东山

技术总监/研发总监

讲师介绍:2003 年毕业于中国科学技术大学,电子专业、软件专业双学位。近10年嵌入式开发经验,曾ZTE公司负责Linux底层系统开发。 近5年作为特聘讲师在若干个有名的培训机构讲课。 擅长ARM系列方面的硬件原理图设计, 精通ARM等架构处理器的Linux底层系统开发。 著有《嵌入式LINUX应用开发完全手册》一书,自2008年来一直是Linux系统类畅销书。

☛点击立即跟老师学习☚

 

「你将学到什么?」

也许是中国第一个讲解android驱动的课程,涵盖: bootloader,内核移植,INIT进程,框架(BINDER IPC,SERVICE FRAMEWORK Activity Manager Serive,JNI,HAL等),binder驱动,logger,Ashmen,电源管理,常用驱动(如灯光系统,输入系统,显示系统等),构建Android,定制ROM

 

「课程学习目录」

1.工具_使用AndroidStudio来阅读源码
2.建模工具bouml
3.第0课第3节_工具_使用bouml制作时序图
4.编写第1个Android应用程序
5.Android应用程序访问C库
6.Android程序操作LED
7.Android硬件访问服务框架
8.Android硬件访问服务编写系统代码
9.Android硬件访问服务编写APP代码
10.Android硬件访问服务编写HAL代码
11.Android硬件访问服务使用反射
12.基础知识Android消息处理机制
13.基础知识ArrayMap
14.Android灯光系统_总体框架
15.Android灯光系统_led_class驱动
16.Android灯光系统_编写HAL_lights.c
17.Android灯光系统_源码分析_电池灯
18.Android灯光系统_源码分析_通知灯
19.Android灯光系统_源码分析_背光灯
20.Binder系统_C程序示例_框架分析
21.Binder系统_C程序示例_编写程序
22.Binder系统_C程序示例_编译查错
23.Binder系统_C程序示例_测试与总结
24.Binder系统_驱动情景分析_数据结构
25.Binder系统_驱动情景分析_打印数据交互过程
26.Binder系统_驱动情景分析_服务注册过程_概述
27.Binder系统_驱动情景分析_服务注册过程_分析
28.Binder系统_驱动情景分析_服务获取过程
29.Binder系统_驱动情景分析_服务使用过程
30.Binder系统_驱动情景分析_transaction_stack机制_REPLY
31.Binder系统_驱动情景分析_transaction_stack机制_双向服务
32.Binder系统_server的多线程实现
33.Binder系统_c++实现_编写程序
34.Binder系统_c++实现_编译测试
35.Binder系统_c++实现_内部机制_回顾关键点
36.Binder系统_c++实现_内部机制_代理类BpXXX分析
37.Binder系统_c++实现_内部机制_数据传输
38.Binder系统_c++实现_内部机制_添加服务
39.Binder系统_JAVA实现_Android里java程序的编译启动
40.Binder系统_JAVA实现_hello服务_编程
41.Binder系统_JAVA实现_hello服务_测试
42.Binder系统_分层
43.Binder系统_JAVA实现_内部机制_Client端
44.Binder系统_JAVA实现_内部机制_Server端
45.回看SystemServer_硬件访问服务及课后作业答案
46.输入系统_必备Linux编程知识_inotify和epoll
47.输入系统_必备Linux编程知识_双向通信(scoketpair)
48.输入系统_必备Linux编程知识_任意进程双向通信(scoketpair+binder)
49.输入系统_框架
50.输入系统_模拟输入系统驱动
51.输入系统_Reader_Dispatcher线程启动分析
52.输入系统_Reader线程_使用EventHub读取事件
53.输入系统_Reader线程_核心类及配置文件_实验
54.输入系统_Reader线程_核心类及配置文件_分析
55.输入系统_Reader线程_简单处理
56.输入系统_Dispatcher线程_总体框架
57.输入系统_Dispatcher线程情景分析_Reader线程传递事件
58.输入系统_Dispatcher线程情景分析_dispatch前处理
59.输入系统_实战_使用GlobalKey一键启动程序
60.输入系统_APP跟输入系统建立联系_InputChannel和Connection
61.输入系统_输入系统_Dispatcher线程_分发dispatch
62.输入系统_APP获得并处理输入事件流程
63.输入系统_补充知识_activity_window_decor_view关系_理论
64.输入系统_补充知识_activity_window_decor_view关系_实验
65.输入系统_InputStage_理论
66.输入系统_InputStage_实验_截取输入事件
67.输入系统_多点触摸驱动程序
68.输入系统_多点触摸驱动程序_编写框架
69.输入系统_多点触摸驱动程序_勘误
70.输入系统_多点触摸驱动程序_编写框架_实践_tiny4412
71.输入系统多点触摸驱动程序_idc配置文件
72.输入系统多点触摸驱动程序_Reader线程
73.输入系统多点触摸驱动程序_InputStage
74.显示系统框架_framebuffer原理及改进
75.显示系统框架_初步分析
76.修改tiny4412_android源码禁用hwc和GPU_最终的补丁
77.修改tiny4412_android源码禁用hwc和GPU_去除厂家gralloc_hwc模块
78.修改tiny4412_android源码禁用hwc和GPU_使用软件GL库
79.修改tiny4412_android源码禁用hwc和GPU_修改gralloc
80.最简单的Surface测试程序
81.APP与SurfaceFlinger的数据结构
82.APP创建SurfaceFlinger客户端(client)的过程
83.APP申请创建Surface的过程
84.APP申请(lock)Buffer的过程_框架
85.APP申请(lock)Buffer的过程_分配buffer
86.APP申请(lock)Buffer的过程_获得buffer信息
87.APP提交(unlockAndPost)Buffer的过程_框架
88.APP提交(unlockAndPost)Buffer的过程_消费者创建过程
89.APP提交(unlockAndPost)Buffer的过程_提交过程
90.黄油计划_三个方法改进显示系统
91.Vsync框架
92.初始化代码分析
93.surface使用vsync过程代码分析
94.surfaceflinger对vsync的处理
95.基础知识_Region定义及操作
96.rebuildLayerStacks源码分析
97.DisplayDevice创建流程分析
98.使用opengl进行界面合成流程速览
99.HDMI硬件介绍
100.4412的HDMI驱动程序框架
101.HDMI热拔插检测驱动程序_总述及字符驱动
102.HDMI热拔插检测驱动程序_switch系统
103.HDMI热拔插检测驱动程序_HPD引脚的两种功能
104.声音的采集与存储
105.Android音频系统框架简述
106.alsa音频驱动框架
107.ASoC音频驱动框架
108.tiny4412声卡驱动移植_combine
109.声卡控制之kcontrol
110.DAPM_widget_route_path
111.DAPM的kcontrol注册过程
112.route_path添加过程分析
113.DAPM的情景分析_构造过程
114.DAPM的情景分析_使用过程
115.tiny4412声卡驱动录音功能调试
116.Android音频系统详解_分析思路
117.以例子说明几个重要概念
118.所涉及文件形象讲解
119.AudioPolicyService启动过程分析
120.AudioFlinger启动过程分析
121.AudioTrack创建过程
122.AudioPolicyManager堪误与回顾
123.AudioTrack创建过程_选择output
124.AudioTrack创建过程_Track和共享内存
125.音频数据的传递
126.PlaybackThread处理流程
127.驱动程序上报耳麦拔插事件
128.在状态栏显示耳麦图标
129.耳麦拔插事件调用流程分析
130.切换声音通道流程
131.音频系统HAL框架
132.HAL之调用流程源码分析
133.音量相关概念
134.AudioFlinger层调节音量流程
135.音量键和Setting界面调节音量流程
136.使用c++编写录音程序
137.录音框架及代码流程
138.修改代码支持多APP同时录音
139.电子产品设计生产概述
140.使用医院来类比BLE协议
141.BLE协议各层的形象化理解
142.BLE协议各层数据格式概述
143.BLE协议抓包演示
144.BLE协议物理层(PHY)
145.体验开源蓝牙协议栈BTStack
146.开源蓝牙协议栈BTStack框架分析
147.开源蓝牙协议栈BTStack框架代码阅读
148.开源蓝牙协议栈BTStack数据处理
149.使用BTStack编写蓝牙程序
150.BLE协议链路层(LL)
151.BLE协议HCI层的硬件接口
152.BLE协议HCI层的数据格式
153.BLE协议L2CAP层
154.BLE协议ATT层
155.BLE协议GATT层
156.BLE协议GAP层
157.BLE安全管理概述
158.地址类型与LL层设备过滤

 

7项超值权益,保障学习质量」

  • 大咖讲解

技术专家系统讲解传授编程思路与实战。

  • 答疑服务

专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

  • 课程资料+课件

超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

  • 常用开发实战

企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

  • 大牛技术大会视频

2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

  • APP+PC随时随地学习

满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

 

「什么样的技术人适合学习?」

  • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
  • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
  • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

 

「悉心打造精品好课,68天学到大牛3年项目经验」

【完善的技术体系】

技术成长循序渐进,帮助用户轻松掌握

掌握驱动/内核开发知识,扎实编码能力

【清晰的课程脉络】

浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

【仿佛在大厂实习般的课程设计】

课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

 

「你可以收获什么?」

1. 了解Android框架 2. 了解Android启动过程 3. 能移植原生态Android代码到新设备

 

Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式展开讲解知识点,即介绍案例->案例涉及技术->展开知识点->总结的方式 本书作者从事多年一线开发和培训,讲解知识点力求细致,深入浅出 目 录 前言 第1章 Android操作系统概述 1 1.1 Android历史介绍 1 1.2 Android架构 1 1.3 Android平台介绍 2 1.4 现有智能手机操作系统比较 4 第2章 Android开发环境搭建 5 2.1 Eclipse和ADT插件 5 2.1.1 Eclipse安装 5 2.1.2 ADT插件 6 2.2 Android SDK 8 2.2.1 Android SDK的获得 8 2.2.2 Android SDK版本说明 10 2.2.3 ADT配置 10 2.3 Android开发模拟器 11 2.3.1 创建模拟器 11 2.3.2 启动模拟器 13 2.3.3 键盘映射与模拟器控制 13 2.3.4 横屏与竖屏切换 14 第3章 第一个Android程序 15 3.1 HelloAndroid 15 3.1.1 在Eclipse中创建项目 15 3.1.2 编写程序项目代码 17 3.1.3 运行HelloAndroid 18 3.1.4 Android工程目录 19 3.1.5 AndroidManifest.xml文件 21 3.2 Android中的组件介绍 22 3.3 使用Android SDK帮助 23 3.3.1 Android SDK API文档 23 3.3.2 Android SDK开发指南 24 3.3.3 Android SDK samples 24 3.4 使用DDMS帮助调试程序 26 3.4.1 启动DDMS 26 3.4.2 Device 28 3.4.3 Emulator Control 29 3.4.4 File Explorer 30 3.4.5 LogCat 31 3.5 使用ADB帮助调试程序 33 3.5.1 查询模拟器实例和设备 34 3.5.2 进入shell 34 3.5.3 导入导出文件 35 3.6 应用程序的打包、安装和卸载 37 3.6.1 应用程序打包 37 3.6.2 应用程序安装 40 3.6.3 应用程序卸载 40 本章小结 42 第4章 UI基础知识 43 4.1 Android UI组件概述 43 4.1.1 View 43 4.1.2 ViewGroup 44 4.1.3 布局管理器 44 4.2 UI设计工具 44 4.2.1 DroidDraw工具 44 4.2.2 ADT插件UI设计工具 46 4.3 事件处理模型 47 4.3.1 接口实现事件处理模型 47 4.3.2 内部类事件处理模型 49 4.3.3 匿名内部类事件处理模型 51 4.4 Activity中的常用事件 53 4.4.1 触摸事件 53 4.4.2 键盘事件 55 4.5 菜单 57 4.5.1 文本菜单 57 4.5.2 图片文本菜单 59 本章小结 60 第5章 UI基础控件 61 5.1 按钮 61 5.1.1 Button 62 5.1.2 ImageButton 63 5.1.3 ToggleButton 64 5.2 TextView 64 5.3 EditText 65 5.4 RadioButton和RadioGroup 66 5.4.1 RadioButton 66 5.4.2 RadioGroup 67 5.5 CheckBox 68 5.6 ImageView 70 5.7 Progress Bar 70 5.7.1 条状进度条 71 5.7.2 圆形进度条 73 5.7.3 对话框进度条 74 5.7.4 标题栏中进度条 75 5.8 SeekBar 76 5.9 RatingBar 78 本章小结 82 第6章 UI高级控件 83 6.1 列表类控件 83 6.1.1 Adapter概念 83 6.1.2 AutoComplete 84 6.1.3 Spinner 87 6.1.4 ListView 90 6.1.5 GridView 96 6.1.6 Gallery 99 6.2 Toast 103 6.2.1 文本类型 103 6.2.2 图片类型 104 6.2.3 复合类型 105 6.2.4 自定义显示位置Toast 106 6.3 对话框 107 6.3.1 文本信息对话框 107 6.3.2 简单列表项对话框 109 6.3.3 单选项列表项对话框 111 6.3.4 复选框列表项对话框 113 6.3.5 复杂布局列表项对话框 115 6.4 Android国际化和本地化 118 本章小结 121 第7章 UI布局 122 7.1 FrameLayout 122 7.1.1 TextSwitcher 124 7.1.2 ImageSwitcher 126 7.1.3 DatePicker 129 7.1.4 TimePicker 131 7.1.5 ScrollView 133 7.1.6 选项卡 134 7.2 LinearLayout 138 7.3 RelativeLayout 139 7.4 AbsoluteLayout 141 7.5 TableLayout 143 7.6 布局嵌套 146 7.7 屏幕旋转 152 本章小结 154 第8章 多线程 155 8.1 多线程案例--计时器 155 8.2 线程概念 156 8.2.1 进程概念 156 8.2.2 线程概念 156 8.3 Java中的线程 157 8.3.1 Java中的实现线程体方式1 157 8.3.2 Java中的实现线程体方式2 160 8.3.3 Java中的实现线程体方式3 162 8.4 Android中的线程 163 8.4.1 Android线程应用中的问题与分析 164 8.4.2 Message和MessageQueue 169 8.4.3 Handler 169 8.4.4 Looper和HandlerThread 172 本章小结 178 第9章 Activity和Intent 179 9.1 Activity 179 9.1.1 创建Activity 179 9.1.2 Activity生命周期 180 9.2 Intent 183 9.2.1 显式Intent 184 9.2.2 隐式Intent 186 9.2.3 匹配组件 186 9.3 多Activity之间跳转 188 9.3.1 多个Activity之间数据传递 189 9.3.2 跳转与返回 192 9.3.3 任务与标志 196 9.4 Android系统内置Intent 199 本章小结 201 第10章 数据存储 203 10.1 健康助手案例 203 10.2 Android数据存储概述 205 10.3 本地文件 205 10.3.1 访问SD卡 207 10.3.2 访问应用文件目录 212 10.4 SQLite数据库 216 10.4.1 SQLite数据类型 216 10.4.2 Android平台下管理SQLite数据库 216 10.5 编写访问SQLite数据库组件 220 10.5.1 DBHelper类 220 10.5.2 数据插入 222 10.5.3 数据删除 224 10.5.4 数据修改 224 10.5.5 数据查询 227 10.6 案例重构 229 10.6.1 系统架构设计 229 10.6.2 重构数据访问层 230 10.7 为案例增加参数设置功能 238 10.7.1 Shared Preferences 240 10.7.2 Preferences控件介绍 243 10.7.3 使用Preferences控件的案例 248 本章小结 250 第11章 Content Provider 251 11.1 Content Provider概述 251 11.2 Content URI 252 11.2.1 Content URI含义 252 11.2.2 内置的Content URI 253 11.3 通过Content Provider访问联系人 253 11.3.1 查询联系人 255 11.3.2 通过联系人ID查询联系人的Email 258 11.3.3 按照过滤条件查询Email 259 11.3.4 查询联系人的电话 261 11.4 通过Content Provider访问通话记录 262 11.4.1 查询通话记录 262 11.4.2 按照过滤条件查询通话记录 264 11.5 通过Content Provider访问短信 266 11.6 自定义Content Provider实现数据访问 269 11.6.1 编写Content Provider 269 11.6.2 在不同的应用中调用Content Provider 277 11.6.3 重构Content Provider调用 278 本章小结 281 第12章 多媒体 282 12.1 多媒体文件介绍 282 12.1.1 音频多媒体文件介绍 282 12.1.2 视频多媒体文件介绍 283 12.2 Android音频播放 284 12.2.1 Android音频/视频播放状态 284 12.2.2 音频播放案例介绍 286 12.2.3 资源音频文件播放 287 12.2.4 本地音频文件播放 291 12.2.5 网络音频文件播放 292 12.2.6 完善案例其他功能 293 12.3 Android音频录制 303 12.3.1 Android音频/视频录制状态 303 12.3.2 音频录制案例介绍 303 12.3.3 音频录制案例实现 305 12.4 Android视频播放 309 12.4.1 视频播放案例 309 12.4.2 采用MediaPlayer类播放视频 310 12.4.3 使用VideoView控件重构案例 315 本章小结 316 第13章 Service 317 13.1 Service概述 317 13.1.1 本地Service生命周期 317 13.1.2 远程Service生命周期 318 13.2 本地Service 319 13.2.1 本地Service案例 319 13.2.2 编写AudioService 320 13.2.3 调用Service 322 13.2.4 重构案例 323 13.3 远程Service 325 13.3.1 远程Service调用原理 325 13.3.2 远程Service案例 326 13.3.3 设计AIDL文件 327 13.3.4 编写AudioService 331 13.3.5 调用远程Service 336 13.3.6 组件间参数传递 343 本章小结 347 第14章 Broadcast Receiver和Notification 348 14.1 Broadcast Receiver 348 14.1.1 音频播放案例 349 14.1.2 编写音频播放Broadcast Receiver 350 14.1.3 注册音频播放Broadcast Receiver 351 14.1.4 接收系统的广播 353 14.1.5 MP3下载服务案例 353 14.2 Notification 358 14.2.1 完善MP3下载服务案例 358 14.2.2 完善音频播放案例 363 14.2.3 其他形式的Notification 369 本章小结 371 第15章 云端应用 372 15.1 典型云端应用--城市天气信息服务 372 15.2 网络通信技术与实现 374 15.2.1 网络通信技术介绍 376 15.2.2 Java URL类实现方式 377 15.2.3 Apache HttpClient实现方式 378 15.3 数据交换格式 380 15.3.1 纯文本格式 381 15.3.2 XML格式 381 15.3.3 JSON格式 385 15.4 自定义服务器端程序实例 387 15.4.1 Java Servlet概述 387 15.4.2 编写城市信息服务的Servlet 388 15.4.3 编写城市天气服务的Servlet 393 15.4.4 再次探讨HttpClient的POST请求 395 15.5 云端应用案例优化 400 本章小结 404 第16章 Google Map和定位服务 405 16.1 MyMap服务系统案例 405 16.2 Android Google Map 406 16.2.1 申请Google Map Android API Key 407 16.2.2 编写Android Google Map骨架程序 409 16.2.3 控制地图 412 16.2.4 地图的显示模式 416 16.2.5 地图的图层 419 16.2.6 查询与定位 422 16.3 Android定位服务 430 16.3.1 开启定位服务 431 16.3.2 模拟测试 433 16.3.3 GPS与Google Map结合 435 16.4 案例重构 437 16.4.1 重构"定位查询"方法 438 16.4.2 重构"查询周围"方法 440 本章小结 443 第17章 Android通信应用 444 17.1 电话应用开发 444 17.1.1 拨打电话功能 444 17.1.2 呼入电话状态 446 17.2 短信和彩信应用开发 450 17.2.1 Android内置的发送短信/彩信功能 450 17.2.2 自己编写发送文本内容的短信 452 17.2.3 自己编写接收文本内容的短信 458 17.2.4 自己编写发送二进制内容的短信 459 17.2.5 自己编写接收二进制内容的短信 461 17.3 蓝牙通信 463 17.3.1 Android 2 BluetoothChat案例 464 17.3.2 Android 2 蓝牙API介绍 464 17.3.3 TCP Socket与蓝牙Socket的区别 465 17.3.4 BluetoothChat中的类 466 17.3.5 初始化本地蓝牙设备 467 17.3.6 查找蓝牙设备 471 17.3.7 管理连接 476 17.3.8 互相之间的通信 480 17.4 WiFi通信 484 17.4.1 管理WiFi 484 17.4.2 扫描热点 487 17.4.3 Socket通信 489
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值