王家林的81門一站式雲計算分佈式大數據&移動互聯網解決方案課程第12門課程:Android系統完整訓練:開發搭載Android系統的產品

如何從Linux起步,開發出搭載Android系統而且具有深度定製和軟硬整合能力特點產品,是本課程解決的問題。web

課程以Android的五大核心:HAL、Binder、Native Service、Android Service(並以AMS和WMS爲例)、View System爲主軸,一次性完全掌握Android的精髓。設計模式

之因此是開發Android產品的必修課,緣起於:瀏覽器

1,     HAL是Android Framework&Application與底層硬件整合的關鍵技術和必修技術;架構

2,     Native Service 對上層來講表明了硬件,是Android底層真正的精髓;框架

3,     Android Service是應用程序的控制核心,應用程序的一切行爲均有Android Service掌控;分佈式

4,     Binder 是Android系統運行的基石,不掌握Binder就永遠沒法掌握Android;ide

5,     View系統的差別化對消費者而言是Android產品核心競爭力之一,蘋果和三星是這方面成功的經典案例;oop

經過Android五大核心的洗禮,從而徹底具有Android系統二次開發和改造能力,測試

進而開發出極具特點的Android產品。大數據

課程特點  

創建360度的Android產品研發能力和解決問題的能力,可以獨立開發並深度定製出搭載Android系統的產品;

培訓對象

手機、平板、智能電視、車載系統、智能家居設備(例如微波爐、防盜門、電冰箱)等全部想使用Android的硬件廠商;

想理解Android運行機制的軟件開發者;

 

學員基礎

      能看懂C/C++與Java

 

王家林老師

Android架構師、高級工程師、諮詢顧問、培訓專家;

通曉Android、HTML五、Hadoop,迷戀英語播音和健美;

致力於Android、HTML五、Hadoop的軟、硬、雲整合的一站式解決方案;

國內最先(2007年)從事於Android系統移植、軟硬整合、框架修改、應用程序軟件開發以及Android系統測試和應用軟件測試的技術專家和技術創業人員之一。

HTML5技術領域的最先實踐者(2009年)之一,成功爲多個機構實現多款自定義HTML5瀏覽器,參與某知名的HTML5瀏覽器研發;

Hadoop源碼級專家,曾負責某知名公司的類Hadoop框架開發工做,專一於Hadoop一站式解決方案的提供,同時也是雲計算分佈式大數據處理的最先實踐者之一,Hadoop的狂熱愛好者,不斷的在實踐中用Hadoop解決不一樣領域的大數據的高效處理和存儲,如今正負責Hadoop在搜索引擎中的研發中國電信的屢次Hadoop培訓,花旗銀行的Hadoop內訓,金立手機的Hadoop內訓等,著有《雲計算分佈式大數據Hadoop實戰高手之路---從零開始》《雲計算分佈式大數據Hadoop實戰高手之路---高手崛起》《雲計算分佈式大數據Hadoop。實戰高手之路---高手之巔》等;

 

培訓內容

 

第一天

第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

 

時間

內容

備註

第四天

第9堂課:ActivityManagerService原理與核心架構解析

9.1 AMS的架構解析和main剖析

9.2 AMS啓動一個Process架構解析源碼剖析

9.3 AMS啓動Activity、Service、Broadcast、ContentProvider架構解析與源碼剖析

9.4 Proxy-Stub

第10堂課:WindowManagerService原理與核心架構解析

10.1 WindowManagerService架構解析

10.2 Window建立過程分析

10.3 Activity與WindowManagerService交互

10.4 WindowManagerService下的SurfaceFlinger

10.5 窗口的繪製和改變全程代碼解析

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息
相關文章