Android、HTML5、Node.js、IoT 與 Blockchain 高品質訓練課程供應者

課程講師 / Jollen

Moko365 講師暨技術總監,Flowchain 基金會(新加坡)創辦人。Jollen 在 Embedded Linux 與 Linux Device Driver 有超過 20 年的研發與企業內訓經驗,在 Android Framework 軟體架構方面,也有 15 年的授課經驗,更長期在科技業擔任 Linux & Android 技術顧問。

Jollen 在 Linux 基金會舉辦的 Open Source Summit 全球開發者社群大會上,多次擔任講者發表演說,在開源領域有多年經驗。此外,於 2017 年開始,在歐洲與加拿大發表有關區塊鏈與去中心化 IoT 架構的論文,並獲 ACM SIGBED Review 刊登。Jollen 在 2016 年創辦 Flowchain 基金會,開發原創區塊鏈作業系統技術,提供 IoT 與 Blockchain 技術整合服務,並獲得多項相關國際專利。更多資訊,請參考 Jollen’s Blog

Android HAL & Framework: 軟硬整合實作訓練

仕橙版第 36 期

Android HAL 是什麼技術?HAL(Hardware Abstract Layer 硬體抽象層)是 Android Framework 的一個架構層,用來銜接應用程式與與硬體,這 Android 的軟硬整合關鍵技術,當然也是學習 Android Framework 的第一堂課。

Moko365 Team

課程方向

HAL 是 Android Framework 與底層硬體整合的關鍵技術,HAL 將 Android 框架以及 Linux Device Driver 整合在一起;這是開發 Android 產品的必修課。HIDL 又是什麼?HIDL 全名是 Hardware Interface Description Lanague,這是 Android 在歷經 10 年的發展後,最要的架構更新。HIDL 基於原先的 HAL 架構與設計,為 Android 加上了更為完整的「軟硬整合描述語言」,讓廠商(Vendor)更容易將 AOSP 整合至自有硬體。

本課程由 Jollen Chen 講師主講,Jollen 講師是台灣第一位研究 Android HAL & Framework 的講師,至今已有近 10 年的研究、開發與授課經驗,有最完整 Android HAL 與 Framework 經驗。本課程是進修 Android HAL、HIDL 與 Framework 的首選。

品質特色

本課程內容累積近 100 期的公開課與企業內訓經驗,能幫助您建立 Android Framework 與 HAL & HIDL 整合的「研發能力、解決問題的能力」,而不只是操作性的能力建立。Android 框架的開發要考慮架構,要先做設計(OOD),要驗證設計的正確性,同時也要達到重用(Design Reuse)框架設計的要求;所以開發 Android 框架,「是在一套系統化且制式的規模下進行,寫 code 受到規範。」本課程的目標,是帶領學員,建立 Android 框架架構的觀念,並練習撰寫正確的程式碼。本課程包含 Android 4/5/6/7 內容,範例可支援 Android 1.6/2.x/4.x/5.x/6.x/7.x。

更新通知

本課於 2017 年 11 月 10 日進行第五次改版,加入了 Android HIDL 與 Treble 的內容,是本課程開設近 10 年來,最重要的一次改版。

本課於 2014 年 12 月 09 日進行第四次改版,本課程於 2009 年北京首開至今,不但是兩岸最早的 HAL 課程,也是課程資歷最久的 HAL 與框架整合課程。第四版課程更新至 Android 5.0 並針對幾個新的設計進行分析。

AF101

HAL(Hardware Abstract Layer 硬體抽象層)是 Android Framework & Application 與底層硬體整合的關鍵技術。移植 Android 到不同平臺時必須整合 Linux kernel 的驅動程式,需要考量 Android Service、HAL stub 以及「整合驅動程式到 Android 框架」架構面的設計(Design)。

了解 HAL 及其設計,是開發 Android 產品的第一門課。透過分析 HAL 的設計,能建立基礎的 Android 框架知識。Jollen Chen 說:「開發 Android 軟件是『設計導向思惟』,編寫代碼(Coding)並不等於做軟件(Software),寫 Code 可以很自由心態」意思是,可根據自已的想法發揮,不受任何限制地自由發揮。

Android 框架的開發要考慮架構,要先做設計(OOD),要驗證設計的正確性,同時也要達到重用(Design Reuse)框架設計的要求;所以開發 Android 框架,「是在一套系統化且制式的規模下進行,寫 Code 受到規範。」

本課程由具備 Android 產品開發經驗,以及產品操盤實務經驗的技術專家 Jollen 主講,是特別針對想事產品開發,以及想提升團隊 Android 架構能力者所規劃。課程深入淺出,是目前國內少見能以至簡方式介紹實務 Android 框架與架構的課程。旨在培養實務的 Andr​​oid 能力,並協助企業提升研發團隊的 Andr​​oid 架構能力。

Jollen 老師將以 Mokoid Open Source Project(MOSP)範例,仔細分析 Android 框架的設計方法與架構;MOSP 是 Jollen 老師特別發展的實例,並已開源至 Google Code 上。

課程主軸為綜合說明 Android 框架的核心架構:HAL、Binder、View System 與 Native Service,想理解框架,就要深入這四大子系統。

上課時數:18 小時,共計 3 天。

時程 上課大綱 講師
第 1 天
09:30 am-04:30 pm
第 01 堂課: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
w 1.6 HAL Stub Interface
1.7 Refactoring HAL Stub(Android 5.0)

第 02 堂課: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

第 03 堂課: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
3.7 Refactoring Native Service(Android 5.0)
Jollen
第 2 天
09:30 am-04:30 pm
第 04 堂課:Android Process 模式與系統程式
4.1 Component 與 Main Thread
4.2 Android Process Model
4.3 Class Preloading

第 05 堂課:Manager API & Context
5.1 Introduction Context
5.2 getSystemService()
5.3 IPC & AIDL
5.4 IPC with Android Service using Binder Proxy

第 06 堂課:Android HIDL 與 Testing Treble
6.1 Legacy HAL 與 Passthrough HAL 設計與實作
6.1 Binderized HAL 設計與實作
6.2 HIDL 使用步驟與上機練習
6.3 使用 C++ 實作 HIDL
6.4 Device Tree Overlays (DTOs) i
6.5 使用 Vendor Native Development Kit (VNDK)
Jollen
第 3 天
09:30 am-04:30 pm
第 07 堂課:Native Service 與 Binder IPC 原理與核心架構解析
7.1 使用 IInterface(Java vs C++)
7.2 使用 BnInterface 與 BpInterface
7.3 實作 Binder Protocol
7.4 Implementation of Native Service 與 Binder IPC Proxy
7.5 Proxy Design Pattern
7.6 .asInterface() 深入解析
7.7 BpInterface, Proxy object 與 IPC transaction

第 08 堂課: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
Jollen

● 看得懂 Java 與 C 語言

● 基本的 Linux 終端機環境操作

NT$ 20,800(上課時數 18 小時,共計 3 天)

● 開課前一週,天天早安鳥;開課前完成繳費享有「早安鳥」 88 折優惠價(NT$ 18,300),我要早安鳥報名

● 持 VIP Code(仕橙會員卡),再折 NT$ 1,000

● 日期:2018 年 07 月 21、22、28日,仕橙版第 36 期

● 時間:09:30~12:00,13:00~16:30 (09:00 AM 開始報到)

  • 仕橙版第 36 期(暨 Jollen’s Consulting 第 43 期)將於 2018 年 07 月 21 日開課(台北)
  • 仕橙版第 35 期(暨 Jollen’s Consulting 第 42 期)已於 2018 年 03 月 10 日節訓(台北企業包班)
  • 仕橙版第 34 期(暨 Jollen’s Consulting 第 41 期)已於 2017 年 03 月 18 日結訓(台北)
  • 仕橙版第 33 期(暨 Jollen’s Consulting 第 40 期)已於 2016 年 04 月 16 日結訓(台北)
  • 仕橙版第 32 期(暨 Jollen’s Consulting 第 39 期)已於 2015 年 09 月 05 日結訓(台北)
  • 仕橙版第 31 期(暨 Jollen’s Consulting 第 38 期)已於 2015 年 01 月 24 日結訓(台北)
  • 仕橙版第 30 期(暨 Jollen’s Consulting 第 37 期)已於 2014 年 05 月 10 日結訓(台北)
  • 仕橙版第 29 期(暨 Jollen’s Consulting 第 36 期)已於 2013 年 11 月 16 日結訓(台北)
  • 仕橙版第 28 期(暨 Jollen’s Consulting 第 35 期)已於 2013 年 03 月 09 日結訓(台北)
  • 仕橙版第 27 期(暨 Jollen’s Consulting 第 34 期)已於 2012 年 11 月 29 日結訓(北京)
  • 仕橙版第 26 期(暨 Jollen’s Consulting 第 33 期)已於 2012 年 10 月 25 日結訓(深圳)
  • 仕橙版第 25 期(暨 Jollen’s Consulting 第 32 期)已於 2012 年 07 月 19 日結訓(北京)
  • 仕橙版第 24 期(暨 Jollen’s Consulting 第 31 期)已於 2012 年 04 月 27 日結訓(深圳)
  • 仕橙版第 23 期(暨 Jollen’s Consulting 第 30 期)已於 2012 年 04 月 22 日結訓(台北)
  • 仕橙版第 22 期(暨 Jollen’s Consulting 第 29 期)已於 2011 年 12 月 18 日結訓(上海)
  • 仕橙版第 21 期(暨 Jollen’s Consulting 第 28 期)已於 2011 年 12 月 04 日結訓(台北)
  • 仕橙版第 20 期(暨 Jollen’s Consulting 第 27 期)已於 2011 年 09 月 18 日結訓(台北)
  • 仕橙版第 19 期(暨 Jollen’s Consulting 第 26 期)已於 2011 年 08 月 30 日結訓(北京)
  • 仕橙版第 18 期(暨 Jollen’s Consulting 第 25 期)已於 2011 年 08 月 26 日結訓(深圳)
  • 仕橙版第 17 期(暨 Jollen’s Consulting 第 24 期)已於 2011 年 05 月 29 日結訓(台北)
  • 仕橙版第 16 期(暨 Jollen’s Consulting 第 23 期)已於 2011 年 05 月 15 日結訓(上海)
  • 仕橙版第 15 期(暨 Jollen’s Consulting 第 22 期)已於 2011 年 03 月 20 日結訓(台北)
  • 仕橙版第 14 期(暨 Jollen’s Consulting 第 21 期)已於 2011 年 03 月 29 日結訓(深圳)
  • 仕橙版第 13 期(暨 Jollen’s Consulting 第 20 期)已於 2011 年 01 月 09 日結訓(台北)
  • 仕橙版第 12 期(暨 Jollen’s Consulting 第 19 期)已於 2010 年 11 月 28 日結訓(台北)
  • 仕橙版第 11 期(暨 Jollen’s Consulting 第 18 期)已於 2010 年 11 月 05 日結訓(北京)
  • 仕橙版第 10 期(暨 Jollen’s Consulting 第 17 期)已於 2010 年 09 月 21 日結訓(北京)
  • 仕橙版第 09 期(暨 Jollen’s Consulting 第 16 期)已於 2010 年 08 月 29 日結訓(台北)
  • 仕橙版第 08 期(暨 Jollen’s Consulting 第 15 期)已於 2010 年 06 月 29 日結訓(深圳)
  • 仕橙版第 07 期(暨 Jollen’s Consulting 第 14 期)已於 2010 年 06 月 13 日結訓(台北)
  • 仕橙版第 06 期(暨 Jollen’s Consulting 第 13 期)已於 2010 年 05 月 25 日結訓(北京)
  • 仕橙版第 05 期(暨 Jollen’s Consulting 第 12 期)已於 2010 年 05 月 09 日結訓(台北)
  • 仕橙版第 04 期(暨 Jollen’s Consulting 第 11 期)已於 2010 年 04 月 24 日結訓(上海)
  • 仕橙版第 03 期(暨 Jollen’s Consulting 第 10 期)已於 2010 年 03 月 29 日結訓(深圳)
  • 仕橙版第 02 期(暨 Jollen’s Consulting 第 09 期)已於 2010 年 01 月 10 日結訓(台北)
  • 仕橙版第 01 期(暨 Jollen’s Consulting 第 08 期)已於 2009 年 10 月 25 日結訓(台北)

台北市博愛路(詳細教室資訊另行公佈)

下載報名表(.doc)

下載報名表(.pdf)

* 為必須填寫欄位
  • 2010 年 06 月 13 日:Android HAL & Framework:軟硬整合實作訓練(仕橙版第 07 期)
  • 2010 年 05 月 25 日(北京):Android HAL & Framework:軟硬整合實作訓練(仕橙版第 06 期)
      • 2010 年 05 月 09 日:Android HAL & Framework:軟硬整合實作訓練(仕橙版第 05 期)
      • 2010 年 03 月 29 日:Android HAL & Framework:軟硬整合實作訓練(仕橙版第 03 期)
      • 2009 年 10 月 25 日:Jollen 老師「Android 驅動程式:移植實戰班 第 05 期(仕橙版)」順利結訓(台北班)
      • 2009 年 08 月 29 日:Jollen 老師至上海開辦「Android 應用開發與底層技術(第 03 期)」課程
      • 2009 年 08 月 18 日:Jollen 老師赴鴻海土城民生廠進行「Android Porting:移植要領」課程
      • 2009 年 08 月 12 日:Jollen 老師舉辦「第一次 Android 課程試教活動、為課程調整做準備」
      • 2009 年 07 月 04 日:Jollen 老師「Android 應用開發與底層技術(第 01 期)」中國地區首開班於北京舉辦

● 2014 年 12 月 09 日:第四次改版,課程內容更新至 Android 5.0,並增加 Android 5.0 的重構分析。

● 2012 年 12 月 24 日:第三次改版,課程時數由 12 小時大幅擴充為 18 小時,課程份量增加 50%。加深 Native Service 主題,並新增 Binder 與 View 系統的解析。

仕橙3G教室

本課程由仕橙3G教室 (Moko365 Inc) 開發與製作,內容由仕橙研策科技有限公司版權所有,並保留所有權利。未經書面授權同意,請勿轉載、引用或複製內文。本公司業聘請承展智權暨商務法律事務所陳丁章律師、李子聿律師等,擔任本公司電子商務及智權法務諮詢顧問,並此籲請各界尊重本公司之智慧財產權。

Moko365 (仕橙3G教室) 成立於 2009 年,專注於 Android / Linux / Node.js / IoT / Blockchain 技術領域,是老字號的 Professional Training Center,為各大企業提供技術顧問與培訓服務,並協助企業進行人才養成。企業客戶涵蓋科技、金融、物流、傳播等,服務國內外近 100 企業;包含公開課程在內,累積訓練超過 10,000 人次。更多有關資訊,請瀏覽 www.moko365.com