开源力量课程-Android软硬整合设计与框架揭秘 开源力量Android精华视频教程
课程特点:
掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术;
一次彻底的Android架构、思想和实战技术的洗礼;
彻底掌握Andorid HAL、Android Runtime、Android Framework、Android Native Service、Android Binder、Android App、Android Testing、HTML5技术的源泉和精髓等核心技术
基础技能:
有JAVA语言编程基础
有 C或 C++基础更佳
推荐人群:
对Android架构、思想和实战技术有较强兴趣;
课程大纲
第一周
第1个主题:Android架构揭秘
1. Google是如何通过Android支持、掌控全球的硬件厂商和应用程序开发者的?
1.2 Android控制力的源泉是什么?技术上如何实现?
1.3 Android的Linux Kernal、HAL、Libararies、Runtime、Application Framework设计的理念和实现技术;
1.4 Android平台与硬件、云的微妙关系;
第2个主题:Android中的JNI编程
2.1 Java调用C/C++
2.2 JNIEnv、JVM、JObject揭秘
2.3 C/C++创建Java对象、调用Java属性和方法
2.4 JNI中的多线程编程
2.5 Facade Pattern在JNI中绝妙应用剖析
2.6 PnP(Plug and Play)
第3个主题:Android中的NDK编程
3.1 NDK与JNI关系揭秘
3.2 NDK开发的流程
3.3 采用NDK方式开发出的程序安装和运行的内幕
3.4 NDK中的Java与C/C++相互调用
3.5 NDK中的多线程编程
3.6 关于Android软件开发的标准化和可替换性揭秘
第二周
第4个主题:Android开机流程揭秘
4.1 第一个用户进程剖析;
4.2 ServiceManager与Binder的关系;
4.3 Zygote揭秘及其运作方式;
4.4 Android中的第一个Java进程揭秘,第一个Java进程和ServiceManager的关系及代码实现;
第5个主题:Android中启动一个新的应用程序揭秘
5.1 当我们触摸Android屏幕中Launcher上的一个应用程序的图标的时候到底发生怎样的调用过程?
5.2 应用程序的执行入口到底在哪里?
5.3 一个新的Android应用程序的进程到底是怎么产生的?
第6个主题:HAL揭秘
6.1 HAL被加入Android中的真正历史原因分析
6.2 HAL的意外价值揭秘
6.3 HAL的Stub
6.4 hw_module_t与hw_device_t
6.5 C语言如何实现继承来满足HAL Stub的设计目的?包括内存结构分析和代码风格讨论等
6.6 如何避免HAL Stub实现时的Dirty Code?
第7个主题:Service、ServiceManager和Binder交互关系揭秘
7.1 Binder的第一号服务是谁?为何要这样设计和实现?
7.2 如何编写Service
7.3 新的Service产生与ServiceManager和Binder交互流程
7.4 如何获取一个Service?
7.5 Binder的生产者与消费者模式剖析
第8个主题:Binder与Shared Memory
8.1 Binder
源代码剖析
8.2 Shared Memory剖析
8.3 Binder是如何使用共享内存来完成进程间通信的?
8.4 从代码的角度来分析Binder使用Shared Memory的生产者与消费者模式
第三周
第9个主题:SystemServer与Framework中的Service
9.1 Zygote与SystemServer
9.2 SystemServer开启Java世界的过程揭秘
9.3 Android Service和Native Service是如何关联起来的?
9.4 Android Service与ServiceManager
9.5 如何把自己的服务加入到ServiceManager中?
第10个主题:把Java写的 Service加入到Applciation Framework中
10.1 IInterface与CTS
10.2 Binder
10.3 AIDL
10.4 Java Service与Manager
10.5 SystemServer、ServiceManager
第四周
第12个主题:Android软、硬、云三位一体整合
12.1 从技术角度揭秘云,包括云的关键技术和实现方法
12.2 在Native Service中整合Android与云
12.3 在Application Framework中整合Android与云
12.4 Android软、硬、云三位一体整合,包括模式、策略、实现技术
第13个主题:Android Application Framwork和App的关系
13.1 Framework和App的具体关系是什么?
13.2 Framework和App的交互过程?
13.3 Framework如何掌控App的?
13.4 Framework与Android的四大组件;
第14个主题: Handler、Looper、Message、MessageQueue
14.1. Android的事件驱动模型
14.2. Looper、MessageQueue、Hanlder、Message等源码深度剖析
14.3. Looper、MessageQueue、Hanlder、Message及多线程实战案例
第五周
第15个主题:ContentProvider背景、用途如何构建ContentProvider,UriMatcher,ContentUris,对CotentProvider进行单元测试、源代码分析
15.1.ContentProvider背景、用途
15.2.构建ContentProvider的详细步骤
15.3.对URI的彻底剖析
15.4.分析UriMatcher,ContentUris
15.5.对ContentProvider的业务层代码进行单元测试
15.6.ContentProvider的源代码剖析
第16个主题:Android中Java与WebView中Javascript相互沟通
16.1,制作Android界面的新大陆
16.2,Java调用Javascript
16.3,Javascript调用Java
第17个主题:HTML5时代:Device、Browser、Cloud
17.1HTML5时代谁最重要?
17.2HTML5与Device
17.3HTML5与Cloud
17.4什么主导了HTML5时代?
第18个主题:HTML5开发平台----PhoneGap框架的技术基石是什么?
18,1 使用WebView
18,2 在WebView中使用JavaScript
18.3 创建本地Java API
18.4 使用JavaScriptInterface
18.5 JavaScript调用Java
18.6 Java调用JavaScript
18.7 PhoneGap是如何使用JavaScriptInterface的