400-888-5228

課程介紹:

本課程以Android的四大核心:HAL、Binder、Native Service、View System為主軸,一次性徹底掌握Android的精髓。

之所以是開(kāi)發(fā)Android產(chǎn)品的必修課,緣起于:

1,HAL是Android Framework&Application與底層硬件整合的關(guān)鍵技術(shù)和必修技術(shù);

2,Native Service 對(duì)上層來(lái)說(shuō)代表了硬件,是Android底層真正的精髓;

3,Binder 是Android系統(tǒng)運(yùn)行的基石,不掌握Binder就永遠(yuǎn)無(wú)法掌握Android;

4,View系統(tǒng)的差異化對(duì)消費(fèi)者而言是Android產(chǎn)品核心競(jìng)爭(zhēng)力之一,蘋果和三星是這方面成功的經(jīng)典案例;

通過(guò)Android四大核心的洗禮,將助工程師和架構(gòu)師通往Android研發(fā)和解決問(wèn)題的自由之路!

 

課程特色:

建立Android框架與HAL驅(qū)動(dòng)程序整合的研發(fā)能力和解決問(wèn)題的能力;

 

課程時(shí)長(zhǎng):

2天

 

 

課程對(duì)象:

手機(jī)、平板、智能電視、車載系統(tǒng)、智能家居設(shè)備(例如微波爐、防盜門、電冰箱)等所有想使用Android的硬件廠商;

想理解Android運(yùn)行機(jī)制的軟件開(kāi)發(fā)者;

學(xué)員基礎(chǔ):

能看懂C/C++與Java

 

課程大綱:

第1堂課:Hardware Abstract Layer 架構(gòu)與驅(qū)動(dòng)模組開(kāi)發(fā)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 架構(gòu) SystemServer 整合開(kāi)發(fā)2.1 Zygote & SystemServer 介紹

2.2 ServiceManager介紹

2.3 IPC、 Remote method call與Binder管理說(shuō)明

2.4 AIDL 介紹與IInterface設(shè)計(jì)觀念解析

2.5 Activity & ApplicationContext

2.6 ServiceManager

第3堂課:Android Framework 架構(gòu)原理分析 (OOD)

3.1 JNI 開(kāi)發(fā)

3.2 Remote Object觀念與IBinder介紹

3.3 如何以Proxy Object整合Android Service

3.4 Handler 與 Message 的解析與實(shí)作細(xì)節(jié)

3.5 Doing Long Operations

3.6 Design Patterns of Android Framework

第4堂課:Android Process 模式與系統(tǒng)程序

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 實(shí)現(xiàn)完整解析

6.1 使用 IInterface (Java vs C++)

6.2 使用 BnInterface 與 BpInterface

6.4 Implementation of Native Service

6.5 Implement Native Binder Proxy

第7堂課:Binder 原理與核心架構(gòu)解析

7.1 Proxy Design Pattern

7.2 .asInterface() 深入解析

7.3 Linux Binder驅(qū)動(dòng)解析

7.4 BpInterface, Proxy object 與 IPC transaction

7.5 Architect of SensorManager

第8堂課:View System 設(shè)計(jì)模式與實(shí)現(xiàn)原理解析

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