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
5 年以上內訓經驗的課程、正式推出公開課。本課程整理數個 Android 開發產品的實務主題:包含 Sensor HAL、Audio HAL、Camera HAL、Android 多媒體框架、Stagefright、Android Framework 軟體工程等主題。
本課程是 AF101 的延續,將繼續介紹重要的 Android 框架子系統。對於每個子系統的架構、設計與原理,都有詳細的介紹。課程從軟體工程的角度切入,內容精彩,有意成為 Android 框架專家的工程師切勿錯過。
本課程由多門公開課與內訓課匯整而成,總計整合現有的 5 門課程,內容精要,讓你 3 天研發實力大增。內訓課絕大部份內容都是為企業量身訂製的課程,並且超過 2 年內訓經驗。
本課於 2014 年 12 月 09 日進行第四次改版。第四版課程更新至 Android 5.0 並針對幾個新的設計進行分析。
AF102
本課程整理數個 Android 開發產品的實務主題,分別說明如下:
1. Sensor HAL 的實作,以整合 Android Framework 與手機上的 Sensor 裝置。此外,良好的設計,才能得到高品質的 HAL 實作,並增進系統的穩定性,本課程除了介紹 Sensor HAL 實作外,也透過此案例說明 Android HAL 的進階技術。
2. 說明 Audio HAL 的移植與設計。Audio 的處理主要是以 Native Service 為主,包含大量的 Native Code,也包含計多 C++ 的觀念,建立這些觀念,能大幅提昇開發 Android 的技術能力。
3. 說明 Camera HAL 的移植與設計。Camera HAL 與 CameraService 都是 Native C++ 實作,學習 Camera HAL 實作,也能了解如何透過 Binder Memory 與 Application 層交換大量資料。Binder Memory 的使用是相當重要的 Android 技術。
4. 介紹 Android 的多媒體框架,支援影像與聲音播放。對系統開發廠來說,如何加入自已的 Codec 或是修改底層實作。
5. 簡介 Android 整體的 Multimedia Framework 架構,透過本課程,能了解多媒體播放器如何與底層的 OpenCore 連接,同時也能了解 OpenCore 的基礎架構(OpenMAX)。
6. Stagefright 是 Android 的多媒體架構,Stagefright 基於 Android 2.2 的部份設計,並加入 Awesome Player 等新設計。Stagefright 想要精簡基於 OpenCore 的原有架構,讓多媒體框架更易於開發與維護。本課程可協助 OpenCore 的開發者快速了解 Stagefright 的架構,並了解如何實作 Stagefright 裡的播放器。
7. Android Framework 架構師,必須具備充實的軟體工程背景知識。本課程整理重要的軟體工程知識,並以 Android Framework 做為研究案例。本課程可說是「軟體工程:以 Android Framework 為例」。
上課時數:18 小時,共計 3 天。
時程 | 上課大綱 | 講師 |
第 1 天 09:30 am-04:30 pm |
第 01 堂課:Sensor HAL 設計與實作 1.1 Android HAL 進階設計 1.2 Data API 與 Control API 1.3 Stub Operations 分類與設計 1.4 SensorManager 與 SensorService 實例研究 1.5 使用 Java thread 呼叫 Data API 的時機與考量 1.6 使用 Synchronize 同步 Data API 的時機與考量 1.7 使用 Listener 機制進行 Data Polling 1.8 多重繼承封裝 Data API 1.9 資料傳遞:Native Handle 與 Parcel 1.10 Refactoring Sensor Subsystem(Android 5.0) 第 02 堂課:Audio HAL 設計與實作 2.1 Introducing Audio HAL 2.2 AudioService Introduction 2.3 Introducing HardwareInterface Class 2.4 Build Audio Library 2.5 MediaPlayer & MediaRecorder Architecture 2.6 Audio HAL Implementation 2.7 Introducing AudioFligner 2.8 AudioFlinger & ALSA Drivers 2.9 Stream-in & Stream-out 2.10 New Designs of Android Subsystem(Android 5.0) |
Jollen |
第 2 天 09:30 am-04:30 pm |
第 03 堂課:Camera HAL 設計與實作 3.1 Introducing Camera HAL & CameraService 3.2 Understanding Design of Camera HAL 3.3 Build Camera Library 3.4 Android Camera Subsystem Architecture 3.5 Camera HAL Implementation 3.6 Introducing video4linux2(V4L2) 3.7 Video Streaming using V4L2 3.8 Manipulate Binder Shared Memory 3.9 New Designs of Android Subsystem(Android 5.0) 第 04 堂課:Android Multi Media 設計與實作 4.1 Using MediaPlayer API 4.2 Introducing MediaPlayerService 4.3 IMediaPlayerService & IMediaPlayerClient 4.4 Introducing PVPlayer 4.5 OpenCore & OpenMAX 4.6 Introducing PVMI 4.7 Display Videos 4.8 Introducing Stagefright 4.9 Stagefright Architecture(Android 5.0) 4.10 Introducing AwesomePlayer & OMX 4.11 New Designs of Android Subsystem(Android 5.0) |
Jollen |
第 3 天 09:30 am-04:30 pm |
第 05 堂課:Android Graphics Subsystem 架構解析 5.1 View & Graphics 系統架構(Android 5.0) 5.2 畫面複合與合成流程(Composition and Flinger) 5.3 SurfaceFlinger 繪圖流程 5.4 關於 copybit, gralloc 與 hwcompower HALs 5.5 關於 GPU 與硬體加速 5.6 簡介 3D 繪圖架構 第 06 堂課:Android Framework 軟體工程分析 6.1 SOLID Principles 6.2 IoC and FSM(Android 5.0) 6.3 Refactoring and Design Patterns(Android 5.0) 6.4 Main Components:OOAD(Android 5.0) 6.5 Main Subsystem:Design and Refactoring(Android 5.0) 6.6 Introduction to FSM and Code Generation |
Jollen |
● 看得懂 Java 與 C 語言
● 基本的 Linux 終端機環境操作
● 建議先修 AF101 課程
NT$ 20,800(上課時數 18 小時,共計 3 天)
● 開課前一週,天天早安鳥;開課前完成繳費享有「早安鳥」88 折優惠價(NT$ 18,300),我要早安鳥報名
● 持 VIP Code 或仕橙會員卡,再折 NT$ 1,000
● 持仕橙折價卷:依面額折抵,一門課程限用一張,可搭配 VIP Code 或仕橙會員卡使用
● 持仕橙折價卷的學員,請於填寫報名表時勾選,並於開課當日繳交,如無法繳交折價卷者,須補繳課程費用
● 日期:2017 年 7 月 16、22、23日,仕橙版第 06 期
● 時間:09:30~12:00,13:00~16:30(09:00 AM 開始報到)
台北市博愛路(詳細教室資訊另行公佈)
● 下載報名表(.doc)
● 下載報名表(.pdf)
本課程由仕橙3G教室 (Moko365 Inc) 開發與製作,內容由仕橙研策科技有限公司版權所有,並保留所有權利。未經書面授權同意,請勿轉載、引用或複製內文。本公司業聘請承展智權暨商務法律事務所陳丁章律師、李子聿律師等,擔任本公司電子商務及智權法務諮詢顧問,並此籲請各界尊重本公司之智慧財產權。
Moko365 (仕橙3G教室) 成立於 2009 年,專注於 Android / Linux / Node.js / IoT / Blockchain 技術領域,是老字號的 Professional Training Center,為各大企業提供技術顧問與培訓服務,並協助企業進行人才養成。企業客戶涵蓋科技、金融、物流、傳播等,服務國內外近 100 企業;包含公開課程在內,累積訓練超過 10,000 人次。更多有關資訊,請瀏覽 www.moko365.com