課程特點:掌握Android從底層開發(fā)到框架整合技術(shù)到上層App開發(fā)及HTML5的全部技術(shù);一次徹底的Android架構(gòu)、思想和實戰(zhàn)技術(shù)的洗禮;徹底掌握Andorid HAL、Android Runtime、Android Framework、Android Native Service、Android Binder、Android App、Android Testing、HTML5技術(shù)的源泉和精髓等核心技術(shù)基礎(chǔ)技能:有JAVA語言編程基礎(chǔ)有 C或 C++基礎(chǔ)更佳推薦人群:對Android架構(gòu)、思想和實戰(zhàn)技術(shù)有較強興趣;課程大綱第一周第1個主題:Android架構(gòu)揭秘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中的JNI編程2.1 Java調(diào)用C/C++2.2 JNIEnv、JVM、JObject揭秘2.3 C/C++創(chuàng)建Java對象、調(diào)用Java屬性和方法2.4 JNI中的多線程編程2.5 Facade Pattern在JNI中絕妙應(yīng)用剖析2.6 PnP(Plug and Play)第3個主題:Android中的NDK編程3.1 NDK與JNI關(guān)系揭秘3.2 NDK開發(fā)的流程3.3 采用NDK方式開發(fā)出的程序安裝和運行的內(nèi)幕3.4 NDK中的Java與C/C++相互調(diào)用3.5 NDK中的多線程編程3.6 關(guān)于Android軟件開發(fā)的標準化和可替換性揭秘第二周第4個主題:Android開機流程揭秘4.1 第一個用戶進程剖析;4.2 ServiceManager與Binder的關(guān)系;4.3 Zygote揭秘及其運作方式;4.4 Android中的第一個Java進程揭秘,第一個Java進程和ServiceManager的關(guān)系及代碼實現(xiàn);第5個主題:Android中啟動一個新的應(yīng)用程序揭秘5.1 當我們觸摸Android屏幕中Launcher上的一個應(yīng)用程序的圖標的時候到底發(fā)生怎樣的調(diào)用過程?5.2 應(yīng)用程序的執(zhí)行入口到底在哪里?5.3 一個新的Android應(yīng)用程序的進程到底是怎么產(chǎn)生的?第6個主題:HAL揭秘6.1 HAL被加入Android中的真正歷史原因分析6.2 HAL的意外價值揭秘6.3 HAL的Stub6.4 hw_module_t與hw_device_t6.5 C語言如何實現(xiàn)繼承來滿足HAL Stub的設(shè)計目的?包括內(nèi)存結(jié)構(gòu)分析和代碼風格討論等6.6 如何避免HAL Stub實現(xiàn)時的Dirty Code?第7個主題:Service、ServiceManager和Binder交互關(guān)系揭秘7.1 Binder的第一號服務(wù)是誰?為何要這樣設(shè)計和實現(xiàn)?7.2 如何編寫Service7.3 新的Service產(chǎn)生與ServiceManager和Binder交互流程7.4 如何獲取一個Service?7.5 Binder的生產(chǎn)者與消費者模式剖析第8個主題:Binder與Shared Memory8.1 Binder源代碼剖析8.2 Shared Memory剖析8.3 Binder是如何使用共享內(nèi)存來完成進程間通信的?8.4 從代碼的角度來分析Binder使用Shared Memory的生產(chǎn)者與消費者模式第三周第9個主題:SystemServer與Framework中的Service9.1 Zygote與SystemServer9.2 SystemServer開啟Java世界的過程揭秘9.3 Android Service和Native Service是如何關(guān)聯(lián)起來的?9.4 Android Service與ServiceManager9.5 如何把自己的服務(wù)加入到ServiceManager中?第10個主題:把Java寫的 Service加入到Applciation Framework中10.1 IInterface與CTS10.2 Binder10.3 AIDL10.4 Java Service與Manager10.5 SystemServer、ServiceManager第四周第12個主題:Android軟、硬、云三位一體整合12.1 從技術(shù)角度揭秘云,包括云的關(guān)鍵技術(shù)和實現(xiàn)方法12.2 在Native Service中整合Android與云12.3 在Application Framework中整合Android與云12.4 Android軟、硬、云三位一體整合,包括模式、策略、實現(xiàn)技術(shù)第13個主題:Android Application Framwork和App的關(guān)系13.1 Framework和App的具體關(guān)系是什么?13.2 Framework和App的交互過程?13.3 Framework如何掌控App的?13.4 Framework與Android的四大組件;第14個主題: Handler、Looper、Message、MessageQueue14.1. Android的事件驅(qū)動模型14.2. Looper、MessageQueue、Hanlder、Message等源碼深度剖析14.3. Looper、MessageQueue、Hanlder、Message及多線程實戰(zhàn)案例第五周第15個主題:ContentProvider背景、用途如何構(gòu)建ContentProvider,UriMatcher,ContentUris,對CotentProvider進行單元測試、源代碼分析15.1.ContentProvider背景、用途15.2.構(gòu)建ContentProvider的詳細步驟15.3.對URI的徹底剖析15.4.分析UriMatcher,ContentUris15.5.對ContentProvider的業(yè)務(wù)層代碼進行單元測試15.6.ContentProvider的源代碼剖析第16個主題:Android中Java與WebView中Javascript相互溝通16.1,制作Android界面的新大陸16.2,Java調(diào)用Javascript16.3,Javascript調(diào)用Java第17個主題:HTML5時代:Device、Browser、Cloud17.1??HTML5時代誰最重要?17.2??HTML5與Device17.3??HTML5與Cloud17.4??什么主導(dǎo)了HTML5時代?第18個主題:HTML5開發(fā)平臺—-PhoneGap框架的技術(shù)基石是什么?18,1 使用WebView18,2 在WebView中使用JavaScript18.3 創(chuàng)建本地Java API18.4 使用JavaScriptInterface18.5 JavaScript調(diào)用Java18.6 Java調(diào)用JavaScript18.7 PhoneGap是如何使用JavaScriptInterface的






