班級規模及環境--熱線:4008699035 手機:15921673576( 微信同號) |
每期人數限3到5人。 |
上課時間和地點 |
上課地點:【上海】:同濟大學(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山學院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協同大廈
最近開課時間(周末班/連續班/晚班):2020年3月16日 |
實驗設備 |
☆資深工程師授課
☆注重質量
☆邊講邊練
☆合格學員免費推薦工作
★實驗設備請點擊這兒查看★ |
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
2、培訓結束后,授課老師留給學員聯系方式,保障培訓效果,免費提供課后技術支持。
3、培訓合格學員可享受免費推薦就業機會。 |
課程大綱 |
|
- Android軟硬整合設計與框架培訓
Android軟硬整合設計與框架培訓
?
培訓目標:
?
·?實現Android的軟、硬、云三位一體整合,能夠設計、實現Android的軟、硬、云三位一體整合一站式方案
·?實戰Android的軟、硬、云三位一體整合,掌握整個整合流程和方法,并具有實戰能力;
·?對Android的Linux內核、HAL、運行庫、Dalvik運行時、JNI、Application Framework、App、云和Android智能端的整合等思想、設計、技術一網打盡;
·?揭露Android設計和實現的深層秘密;
·?品味Android對設計模式的精妙應用
·?編寫Android專家級別的代碼
培訓內容:
Android架構揭秘
·?Google是如何通過Android支持、掌控全球的硬件廠商和應用程序開發者的?
·?Android控制力的源泉是什么?技術上如何實現?
·?Android的Linux Kernal、HAL、Libararies、Runtime、Application Framework設計的理念和實現技術;
·?Android平臺與硬件、云的微妙關系;
Android開機流程揭秘
·?第一個用戶進程剖析;
·?ServiceManager與Binder的關系;
·?Zygote揭秘及其運作方式;
·?Android中的第一個Java進程揭秘,第一個Java進程和ServiceManager的關系及代碼實現;
Android中啟動一個新的應用程序揭秘
·?當我們觸摸Android屏幕中Launcher上的一個應用程序的圖標的時候到底發生怎樣的調用過程?
·?應用程序的執行入口到底在哪里?
·?一個新的Android應用程序的進程到底是怎么產生的?
HAL揭秘
·?HAL被加入Android中的真正歷史原因分析
·?HAL的意外價值揭秘
·?HAL的Stub
·?hw_module_t與hw_device_t
·?C語言如何實現繼承來滿足HAL Stub的設計目的?包括內存結構分析和代碼風格討論等
·?如何避免HAL Stub實現時的Dirty Code?
HAL Stub實戰
·?用面向對象的思想分析、設計、實現Stub
·?hw_module_t的子類和hw_device_t的子類的關系以及這種關系的優勢
·?在結構體中如何實現C函數的調用?hw_module_t的子類在代碼中又是如何和hw_device_t的子類交互的?
·?類型轉換問題
HAL和Linux Kernel
·?HAL Stub訪問和控制硬件
·?Android下的Linux Kernel剖析
·?Android 硬件的Driver
·?訪問Linux內核空間的Driver
Service與HAL Stub整合
·?以面向服務的觀點和方式與HAL交互
·?Library的中so庫文件的類型及C/S結構剖析
·?hw_get_module
·?獲取HAL Stub對象的代碼流程剖析
·?為何HAL Stub的open方法必須提供supporting API(對設備的操作接口)給runtime;
Service、ServiceManager和Binder交互關系揭秘
·?Binder的第一號服務是誰?為何要這樣設計和實現?
·?如何編寫Service
·?新的Service產生與ServiceManager和Binder交互流程
·?如何獲取一個Service?
·?Binder的生產者與消費者模式剖析
Binder與Shared Memory
·?Binder源代碼剖析
·?Shared Memory剖析
·?Binder是如何使用共享內存來完成進程間通信的?
·?從代碼的角度來分析Binder使用Shared Memory的生產者與消費者模式
Dalvik VM
·?Dalvik VM的特點,Dalvik VM和JVM的比較
·?Dalvik VM的內存分布及OOM(Out of Memory)的根本原因和解決方案是什么?
·?Preload Classes和 Preload Resources,ClassLoader到底在哪里?
·?10.4 Dalvik與Java和C/C++
Android中的JNI編程
·?Java調用C/C++
·?JNIEnv、JVM、JObject揭秘
·?C/C++創建Java對象、調用Java屬性和方法
·?JNI中的多線程編程
·?Facade Pattern在JNI中絕妙應用剖析
·?PnP(Plug and Play)
Android中的NDK編程
·?NDK與JNI關系揭秘
·?NDK開發的流程
·?采用NDK方式開發出的程序安裝和運行的內幕
·?NDK中的Java與C/C++相互調用
·?NDK中的多線程編程
·?關于Android軟件開發的標準化和可替換性揭秘
SystemServer與Framework中的Service
·?Zygote與SystemServer
·?SystemServer開啟Java世界的過程揭秘
·?Android Service和Native Service是如何關聯起來的?
·?Android Service與ServiceManager
·?如何把自己的服務加入到ServiceManager中?
把Java寫的 Service加入到Applciation Framework中
·?IInterface與CTS
·?Binder
·?AIDL
·?Java Service與Manager
·?SystemServer、ServiceManager
Android框架移植移植時的事件驅動機制
·?Android Service是如何應對硬件阻塞的?
·?開辟新的子線程并不斷的poll
·?Listener注冊
·?Callback
·?Application Framework中的Handler、Message、Looper、MessageQueue、
·?事件驅動機制實例
Manager、Service和完整的數據流
·?Manager和Service分離的原則
·?ANR問題
·?阻塞式的操作和非阻塞式操作
·?以實例說明Android中的從最底層到最上層的數據流
Application Framework設計思想和力量源泉
·?IoC揭秘
·?IoC是何以成為框架神秘力量源泉的?IoC是何以支持框架實現強大控制力的
·?Application Framework與Activity、Service、BroadcastReceiver、ContentProvider
·?動手實現自己的框架
Activity、Service、BroadcastReceiver、ContentProvider
·?四大組件間的關系剖析
·?Activity、BroadcastReceiver、ContentProvider應用場景和實戰
·?Service與IPC細致剖析
終結Android網絡編程
·?Android中的數據上傳,重點在于上傳帶有附件的表單
·?Android中的數據下載,重點在于多線程斷點續傳下載
·?Android中的數據瀏覽,重點在于JavaScript和Java的相互溝通
Android軟、硬、云三位一體整合
·?從技術角度揭秘云,包括云的關鍵技術和實現方法
·?在Native Service中整合Android與云
·?在Application Framework中整合Android與云
·?Android軟、硬、云三位一體整合,包括模式、策略、實現技術
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
?
?
"
|