班級規(guī)模及環(huán)境--熱線:4008699035 手機:15921673576( 微信同號) |
每個班級的人數(shù)限3到5人,互動授課, 保障效果,小班授課。 |
上間和地點 |
上部份地點:【上海】同濟大學(xué)(滬西)/新城金郡商務(wù)樓(11號線白銀路站)【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學(xué)成教院【北京分部】:北京中山學(xué)院/福鑫大樓【南京分部】:金港大廈(和燕路)【武漢分部】:佳源大廈(高新二路)【成都分部】:領(lǐng)館區(qū)1號(中和大道)【沈陽分部】:沈陽理工大學(xué)/六宅臻品【鄭州分部】:鄭州大學(xué)/錦華大廈【石家莊分部】:河北科技大學(xué)/瑞景大廈 最近開間(周末班/連續(xù)班/晚班):2019年1月26日 |
實驗設(shè)備 |
◆小班教學(xué),教學(xué)效果好 ☆注重質(zhì)量☆邊講邊練 ☆合格學(xué)員免費推薦工作 ★實驗設(shè)備請點擊這兒查看★ |
質(zhì)量保障 |
1、培訓(xùn)過程中,如有部分內(nèi)容理解不透或消化不好,可免費在以后培訓(xùn)班中重聽; 2、培訓(xùn)結(jié)束后,授課老師留給學(xué)員聯(lián)系方式,保障培訓(xùn)效果,免費提供課后技術(shù)支持。 3、培訓(xùn)合格學(xué)員可享受免費推薦就業(yè)機會?!詈细駥W(xué)員免費頒發(fā)相關(guān)工程師等資格證書,提升職業(yè)資質(zhì)。專注高端技術(shù)培訓(xùn)15年,端海學(xué)員的能力得到大家的認(rèn)同,受到用人單位的廣泛贊譽,端海的證書受到廣泛認(rèn)可。 |
部份程大綱 |
|
- 目標(biāo)收益
致力于打造在軟硬云整合時代和端云整合時代具有獨立思考能力和實踐能力的高素質(zhì)IT人才;
Android高級工程師
Android移植工程師
Android框架開發(fā)工程師
Android項目經(jīng)理
Android架構(gòu)師
Web開發(fā)人員轉(zhuǎn)移到HTML5時代;
使用HTML5技術(shù)重構(gòu)已有的Web應(yīng)用;
瀏覽器開發(fā)和定制人員;
- 培訓(xùn)對象
- 對Android軟硬整合感興趣的人員;
對端云整合感興趣的軟院;
希望迅速了解和掌握Android應(yīng)用和底層技術(shù)的人員;
Android應(yīng)用程序開發(fā)者;
Android底層開發(fā)者;
Android框架設(shè)計和開發(fā)者;
Android產(chǎn)品架構(gòu)師;
Android系統(tǒng)架構(gòu)師;
希望從事移動終端開發(fā)的愛好者、工程師、程序員、以及相關(guān)行業(yè)的工程技術(shù)人員
Web開發(fā)人員;
云計算從業(yè)人員;
- 學(xué)員基礎(chǔ)
- 1)具有Java基礎(chǔ);
2) 具有C和C++基礎(chǔ)更佳;
3)對設(shè)計模式有所有了解對提升聽課效果會大有裨益;
4) 了解HTML、CSS、JavaScript;
- 課程大綱
- 主題 內(nèi)容
第1個主題:Android架構(gòu)揭秘
- 1.1 Google是如何通過Android支持、掌控全球的硬件廠商和應(yīng)用程序開發(fā)者的?
1.2 Android控制力的源泉是什么?技術(shù)上如何實現(xiàn)?
1.3 Android的Linux Kernal、HAL、Libararies、Runtime、Application Framework設(shè)計的理念和實現(xiàn)技術(shù);
1.4 Android平臺與硬件、云的微妙關(guān)系;
- 第2個主題:Android開機流程揭秘
- 2.1 第一個用戶進(jìn)程剖析;
2.2 ServiceManager與Binder的關(guān)系;
2.3 Zygote揭秘及其運作方式;
2.4 Android中的第一個Java進(jìn)程揭秘,第一個Java進(jìn)程和ServiceManager的關(guān)系及代碼實現(xiàn);
- 第3個主題:Android中啟動一個新的應(yīng)用程序揭秘
- 3.1 當(dāng)我們觸摸Android屏幕中Launcher上的一個應(yīng)用程序的圖標(biāo)的時候到底發(fā)生怎樣的調(diào)用過程?
3.2 應(yīng)用程序的執(zhí)行入口到底在哪里?
3.3 一個新的Android應(yīng)用程序的進(jìn)程到底是怎么產(chǎn)生的?
- 第4個主題:HAL揭秘
- 4.1 HAL被加入Android中的真正歷史原因分析
4.2 HAL的意外價值揭秘
4.3 HAL的Stub
4.4 hw_module_t與hw_device_t
4.5 C語言如何實現(xiàn)繼承來滿足HAL Stub的設(shè)計目的?包括內(nèi)存結(jié)構(gòu)分析和代碼風(fēng)格討論等
4.6 如何避免HAL Stub實現(xiàn)時的Dirty Code?
- 第5個主題:HAL Stub實戰(zhàn)
- 5.1 用面向?qū)ο蟮乃枷敕治?、設(shè)計、實現(xiàn)Stub
5.2 hw_module_t的子類和hw_device_t的子類的關(guān)系以及這種關(guān)系的優(yōu)勢
5.3 在結(jié)構(gòu)體中如何實現(xiàn)C函數(shù)的調(diào)用?hw_module_t的子類在代碼中又是如何和hw_device_t的子類交互的?
5.4 類型轉(zhuǎn)換問題
- 第6個主題:HAL和Linux Kernel
- 6.1 HAL Stub訪問和控制硬件
6.2 Android下的Linux Kernel剖析
6.3 Android 硬件的Driver
6.4 訪問Linux內(nèi)核空間的Driver
- 第7個主題:Service與HAL Stub整合
- 7.1 以面向服務(wù)的觀點和方式與HAL交互
7.2 Library的中so庫文件的類型及C/S結(jié)構(gòu)剖析
7.3 hw_get_module
7.4 獲取HAL Stub對象的代碼流程剖析
7.5 為何HAL Stub的open方法必須提供supporting API(對設(shè)備的操作接口)給runtime;
- 第8個主題:Binder與Shared Memory
- 8.1 Binder源代碼剖析
8.2 Shared Memory剖析
8.3 Binder是如何使用共享內(nèi)存來完成進(jìn)程間通信的?
8.4 從代碼的角度來分析Binder使用Shared Memory的生產(chǎn)者與消費者模式
- 第9主題: Handler、Looper、Message、MessageQueue
- 9.1 Android的事件驅(qū)動模型
9.2 Looper、MessageQueue、Hanlder、Message等源碼深度剖析
9.3 Looper、MessageQueue、Hanlder、Message及多線程實戰(zhàn)案例
- 第10個主題:把Java寫的 Service加入到Applciation Framework中
- 10.1 IInterface與CTS
10.2 Binder
10.3 AIDL
10.4 Java Service與Manager
10.5 SystemServer、ServiceManager
- 第11主題:Android軟、硬、云三位一體整合
- 11.1 從技術(shù)角度揭秘云,包括云的關(guān)鍵技術(shù)和實現(xiàn)方法
11.2 在Application Framework中整合Android與云
11.3 Android軟、硬、云三位一體整合,包括模式、策略、實現(xiàn)技術(shù)
- 第12主題:Android測試
- 12.1 Android代碼測試的好處,測試的方式
12.2 .JUnit框架解析
12.3 測試用例的生命周期
12.4 自動化測試
12.5 源碼剖析
- 第13主題:斷點續(xù)傳
- ★ 類似迅雷的多線程下載器
13.1 多線程下載斷點續(xù)傳原理和流程圖
13.2 下載文件時Http協(xié)議協(xié)議詳解
13.3 多線程下載斷點續(xù)傳程序:設(shè)計服務(wù)端和Android端
13.4 Android端的內(nèi)容涉及IoC、多線程、SQLite數(shù)據(jù)庫、Handler、Http協(xié)議、緩存處理、意外關(guān)機時候的處理、編寫框架、MVC、Service、Android中的I/O流、代碼調(diào)試、Activity的生命周期等
13.5 單元測試
13.6 軟件調(diào)試
★ 多線程斷點文件上傳器
13.7 斷點續(xù)傳原理和流程圖
13.8 上傳文件的Http協(xié)議詳解
13.9 自定義自己的文件傳輸協(xié)議
13.10 服務(wù)端程序的編寫:文件的下載與實時數(shù)據(jù)的記錄、監(jiān)聽模式、亂碼問題的處理、并發(fā)問題、黑客安全問題
13.11 客戶端程序的編寫:Android內(nèi)存溢出問題,Android中的Socket編程、大文件的傳輸、大文件傳輸時候的安全問題
13.12 單元測試
13.13 軟件調(diào)試
- 第14主題:瀏覽器開發(fā)和自定義
- 14.1 瀏覽器定制和開發(fā)的核心原理剖析
14.2 瀏覽器定制和開發(fā)的技術(shù)手段剖析
14.3 瀏覽器定制和開發(fā)實戰(zhàn)
- 第15個主題:HTML5 架構(gòu)思維
- 15.1 All in JavaScript
15.2 Architect of Device & Cloud
15.3 Open Platform & API
- 第16主題:Android中Java與WebView中Javascript相互溝通
- 16.1 制作Android界面的新大陸
16.2 Java調(diào)用Javascript
16.3 Javascript調(diào)用Java
- 第17個主題:通過一個Blog實例實戰(zhàn)HTML5&CSS3
- 17.1 實戰(zhàn)HTML5新增頁面元素;
17.2 實戰(zhàn)HTML5中的表單;
17.3 實戰(zhàn)HTML5中的Canvas
17.4 實戰(zhàn)html 5頁面中視頻和音頻
17.5 CSS3技術(shù)實戰(zhàn)
- 第18個主題:HTML5的新特性
- 18.1 本地存儲
18.2 離線應(yīng)用
18.3 多線程技術(shù)
18.4 地理位置信息
18.5 其它新特性
- 第19個主題:PhoneGap的技術(shù)思考
- 19.1 PhoneGap的架構(gòu)藝術(shù)
19.2 PhoneGap與HTML5、CSS3、JavaScript的關(guān)系
19.3 PhoneGap與智能手機的核心功能——包括相機、文件訪問、地理定位,加速器,聯(lián)系人,聲音和振動等
19.4 PhoneGap的優(yōu)勢和劣勢
- 第20個主題:PhoneGap框架的技術(shù)基石是什么?
- 20.1 使用WebView
20.2 在WebView中使用JavaScript
20.3 創(chuàng)建本地Java API
20.4 使用JavaScriptInterface
20.5 JavaScript調(diào)用Java
20.6 Java調(diào)用JavaScript
20.7 PhoneGap是如何使用JavaScriptInterface的
- 第21個主題:PhoneGap案例開發(fā)實戰(zhàn)
- 21.1 PhoneGap的生命周期事件
21.2 通過Connection測試網(wǎng)絡(luò)鏈接
21.3 通過Accelerometer來采集設(shè)備的動作
21.4 通過Compass獲得當(dāng)前設(shè)備的方向
21.5 PhoneGap 操作本地系統(tǒng)的Camera
21.6 PhoneGap其它的本地API;
- 第22個主題:徹底洞悉jQuery Mobile
- 22.1 jQuery Mobile設(shè)計的技術(shù)思考和商業(yè)思考
22.2 jQuery Mobile入門初體驗;
22.3 使用頁眉、工具欄和標(biāo)簽欄;
22.4 jQuery Mobile中的表單和按鈕;
22.5 jQuery Mobile中的列表;
22.6 jQuery Mobile和CSS結(jié)合;
22.7 jQuery Mobile主題;
22.8 jQuery Mobile的API;
22.9 jQuery Mobile和HTML5開發(fā)框架PhoneGap結(jié)合;
- 第23個主題:Node.js實戰(zhàn)高并發(fā)和非阻塞式的服務(wù)端
- 23.1 Node.js的思考;
23.2 Node.js開發(fā)環(huán)境安裝;
23.3 Node.js開發(fā)實戰(zhàn)
- 第24個主題:Node.js和WebSocket的整合
- 24.1 使用Node.js和WebSocket打造非同步處理機制及其重大價值;
24.2使用Node.js和WebSocket打造非同步處理機制案例實戰(zhàn)
- 第25個主題:Android產(chǎn)業(yè)觀點及獲利模式
- 25.1 Android開源、開放與相容的意義和途徑
25.2 Android手機、平板和電視產(chǎn)品的技術(shù)趨勢與市場策略
- 第26個主題:解析Android框架的設(shè)計模式(Design Pattern)
- 26.1 設(shè)計模式的使用要點
26.2 常見的設(shè)計模式應(yīng)用情境
26.3 解析UI框架的設(shè)計模式,包括事件處理、ListView和SurfaceFlinger框架里的重要機制
26.4 擴充Java層應(yīng)用框架,優(yōu)化UI設(shè)計
26.5 跨進(jìn)程(IPC)通信的設(shè)計模式
26.6 內(nèi)容儲存的設(shè)計模式
26.7 系統(tǒng)服務(wù)的設(shè)計模式
26.8 HAL-based驅(qū)動的設(shè)計模式
- 第27個主題:使用NDK/JNI:Java與C/C++的整合開發(fā)
- 27.1 使用Android的NDK環(huán)境
27.2 從Java呼叫JNI的C/C++函數(shù)
27.3 從C/C++呼叫Java的函數(shù)
27.4 擅用JNI來提升App效能:以O(shè)penGL的3D繪圖為例
- 第28個主題:上層(Java)應(yīng)用框架的解析觀摩與擴充
- 28.1 UI框架解析與擴充
訂制Widget控件:擴充View類別體系
定義系統(tǒng)全局控件的風(fēng)格
改變菜單欄的風(fēng)格和定制菜單
28.2 MediaPlayer框架的解析與擴充
Java層框架基類及相關(guān)類別
JNI接口
系統(tǒng)服務(wù)
基類(Superclass)的擴充
28.3 SurfaceView框架的解析與擴充
一般View與SurfaceView的區(qū)別
SurfaceView的線程模式
擴充SurfaceView的JNI接口,以底層OpenGL引擎繪圖
28.4 SurfaceFlinger框架的解析與擴充
SurfaceView如何透過JNI呼叫SurfaceFlinger系統(tǒng)服務(wù)
SurfaceFlinger如何整合多個SurfaceView的動畫
擴充SurfaceFlinger/SurfaceView的接口,以顯示支持Camera的貼心Preview功能
- 第29個主題:底層(C/C++)框架的解析、觀摩與擴充
- 29.1 系統(tǒng)服務(wù):包括Android Service和 Native Service
29.2 以多媒體Mediaplayer為例介紹C++層系統(tǒng)服務(wù)
29.3 系統(tǒng)服務(wù)的BBinder基類和IBinder接口
29.4 核心服務(wù)框架內(nèi)的通訊機制:
IPC跨進(jìn)程(Process)通訊機制
如何綁定(Bind)C++層服務(wù)
29.5 框架擴充:親自開發(fā)自己的第一支(C++層)系統(tǒng)服務(wù)
- 第30個主題:應(yīng)用框架開發(fā)技術(shù)
- 30.1 框架的主要元素:基類(Superclass)
30.2 善用類的繼承(Inheritance)機制
30.3 設(shè)計基類的抽象函數(shù)
30.4 設(shè)計模式的應(yīng)用
30.5 UML建模
30.6 實際編程與測試
- 第31個主題:框架(Open)API設(shè)計方法
- 31.1 認(rèn)識Open API
31.2 以框架基類來實踐API
31.3 Open API的威力:掌握主導(dǎo)權(quán)
31.4 擴充Android的 Open API
31.5 確保與既有API的兼容性
31.6 API的測試方法
- 第32個主題:如何做行業(yè)應(yīng)用框架的需求分析
- 32.1 需求探索
為什么把輪胎拔掉呢?
為什么火鍋店的桌子要挖洞呢?
為什么餐廳要分開<食譜>與<點菜單>呢?
如何設(shè)計框架的未來性
目前決策的未來性
具有未來性的框架API設(shè)計
Steve Jobs的名言:從未來回顧現(xiàn)在
- 第33個主題:親自演練行業(yè)框架的設(shè)計與開發(fā)
— 使用高煥堂的EIT模式
- 33.1 熟諳EIT框架設(shè)計模式(Pattern)
33.2 遵循自然的造物環(huán)境:信息局限性(Information Limitation)
心懷自然造物法則:<單一造型、內(nèi)涵豐富、無限組合>
活用高煥堂的EIT模式:賦予行業(yè)內(nèi)涵、組合出獨特性
擴充EIT銜接本地服務(wù),發(fā)揮硬件創(chuàng)新差異化
云端服務(wù)和HTTP通信協(xié)議
擴充EIT銜接云端服務(wù),發(fā)揮云計算能力
- 第34個主題:實踐編程(一):先落實到Java層應(yīng)用框架
復(fù)習(xí)基本步驟
- 分析:領(lǐng)域分析、框架需求分析
設(shè)計:EIT模式設(shè)計
編程:使用Java語言
編程要點
將EIT模式的實踐為Java基類
將 EIT模式的實踐為Java的Interface或抽象基類
提供
- 第35個主題:實踐編程(二):往下延伸到C/C++層框架
- 35.1 復(fù)習(xí)JNI,以及Java與C/C++整合開發(fā)技巧
35.2 將EIT模式擴大為EITS新模式
- 第36個主題:實踐編程(三):往上銜接到HTML5/JS與PhoneGap的跨平臺框架
- 36.1 介紹Web層的EITS模式
|