400-888-5228

课程介绍:

本课程以Android的四大核心:HAL、Binder、Native Service、View System为主轴,一次性彻底掌握Android的精髓。

之所以是开发Android产品的必修课,缘起于:

1,HAL是Android Framework&Application与底层硬件整合的关键技术和必修技术;

2,Native Service 对上层来说代表了硬件,是Android底层真正的精髓;

3,Binder 是Android系统运行的基石,不掌握Binder就永远无法掌握Android;

4,View系统的差异化对消费者而言是Android产品核心竞争力之一,苹果和三星是这方面成功的经典案例;

通过Android四大核心的洗礼,将助工程师和架构师通往Android研发和解决问题的自由之路!

 

课程特色:

建立Android框架与HAL驱动程序整合的研发能力和解决问题的能力;

 

课程时长:

2天

 

 

课程对象:

手机、平板、智能电视、车载系统、智能家居设备(例如微波炉、防盗门、电冰箱)等所有想使用Android的硬件厂商;

想理解Android运行机制的软件开发者;

学员基础:

能看懂C/C++与Java

 

课程大纲:

第1堂课:Hardware Abstract Layer 架构与驱动模组开发1.1 Service与Manager的意义与用途

1.2 libhardware 与 HAL API

1.3 Stub & Module 的观念

1.4 HAL Stub Analysis and Design (OOAD)

1.5 HAL Stub Class

1.6 HAL Stub Interface

第2堂课:Android Service 架构 SystemServer 整合开发2.1 Zygote & SystemServer 介绍

2.2 ServiceManager介绍

2.3 IPC、 Remote method call与Binder管理说明

2.4 AIDL 介绍与IInterface设计观念解析

2.5 Activity & ApplicationContext

2.6 ServiceManager

第3堂课:Android Framework 架构原理分析 (OOD)

3.1 JNI 开发

3.2 Remote Object观念与IBinder介绍

3.3 如何以Proxy Object整合Android Service

3.4 Handler 与 Message 的解析与实作细节

3.5 Doing Long Operations

3.6 Design Patterns of Android Framework

第4堂课:Android Process 模式与系统程序

4.1 Component 與 Main Thread

4.2 Instance of Dalvik VM

4.3 Introduction of Dalvik VM

4.4 Android Process Model

4.5 Class Preloading

4.6 Dalvik VM Instantiation & Initialization

第5堂课:Manager API & Context

5.1 Introduction Context

5.2 getSystemService()

5.3 IPC & AIDL

5.4 IPC with Android Service using Binder Proxy

第6堂课:Native Service 实现完整解析

6.1 使用 IInterface (Java vs C++)

6.2 使用 BnInterface 与 BpInterface

6.4 Implementation of Native Service

6.5 Implement Native Binder Proxy

第7堂课:Binder 原理与核心架构解析

7.1 Proxy Design Pattern

7.2 .asInterface() 深入解析

7.3 Linux Binder驱动解析

7.4 BpInterface, Proxy object 与 IPC transaction

7.5 Architect of SensorManager

第8堂课:View System 设计模式与实现原理解析

8.1 Introduction to Activity, Window and View

8.2 Architecture of Android View System

8.3 Surface and Canvas

8.4 The flow of drawing: from View to SurfaceFlinger

8.5 The MVC design of View Hierarchy

8.6 The Composite pattern of View Hierarchy