為響應(yīng)工業(yè)和信息化部 “工業(yè)和信息化領(lǐng)域緊缺人才培養(yǎng)工程”,我中心針對目前企事業(yè)單位信息技術(shù)研發(fā)人員對Andriod技術(shù)的緊迫需求,設(shè)計推出了Android開發(fā)實戰(zhàn)課程。授課專家在多年的Android(6款硬件產(chǎn)品和超過20款應(yīng)用軟件)及HTML5系列技術(shù)的實戰(zhàn)背景下制定本課程,課程全程以過去工作的案例為核心,掌握本課程后至少能夠輕松編寫完成諸如UC迅雷、優(yōu)酷和KU6等的Android視頻客戶端、趕集網(wǎng)的移動客戶端等并對HTML5有本質(zhì)性的認(rèn)識,后以ActivityManagerService的源碼剖析為核心,徹底剖析Android程序運行背后的機制,深刻體悟Android框架的設(shè)計哲學(xué)和實現(xiàn)機制,旨在幫助貴公司完成任意負(fù)責(zé)程度的Android程序開發(fā)并從務(wù)實實戰(zhàn)的角度幫助Android工程師升級到Android架構(gòu)師。
具體課程事宜如下:
一、課程目標(biāo)
通曉Android的架構(gòu)哲學(xué)和力量來源以及實現(xiàn)技術(shù);
能夠開發(fā)出任意類型、任意復(fù)雜程度的應(yīng)用程序;
能夠使用NDK技術(shù)編程;
實戰(zhàn)Android測試技術(shù);
對HTML5有根本性的理解;
以ActivityManagerService的源碼剖析為核心,徹底剖析Android程序運行背后的機制,深刻體悟Android框架的設(shè)計哲學(xué)和實現(xiàn)機制。
二、課程要點
揭秘Android;
精通四大組件;
精通Android界面編程;
精通Android網(wǎng)絡(luò)編程;
熟練NDK編程;
實戰(zhàn)Android測試技術(shù);
洞悉HTML5;
以ActivityManagerService的源碼剖析為核心,徹底剖析Android程序運行背后的機制,深刻體悟Android框架的設(shè)計哲學(xué)和實現(xiàn)機制
三、學(xué)習(xí)對象
廣大從事Android開發(fā)工作的IT技術(shù)人員及愛好者,包括研發(fā)工程師、解決方案工程師、系統(tǒng)維護(hù)工程師等。
四、授課師資
王老師 國內(nèi)早(2007年)從事于Android系統(tǒng)移植、軟硬整合、框架修改、應(yīng)用程序軟件開發(fā)以及Android系統(tǒng)測試和應(yīng)用軟件測試的技術(shù)專家和技術(shù)創(chuàng)業(yè)人員之一。成功對包括三星、摩托羅拉、華為等世界500強企業(yè)實施Android底層移植、框架修改、應(yīng)用開發(fā)等培訓(xùn)。 成功對平安保險、英特爾等實施HTML5培訓(xùn); 撰寫了《大話企業(yè)級Android應(yīng)用開發(fā)實戰(zhàn)》、《基于Android平臺的商業(yè)軟件---手機守護(hù)神開發(fā)全程實戰(zhàn)》、《Android 4.0網(wǎng)絡(luò)編程詳解》、《細(xì)說Android NDK編程》、《Android軟、硬、云整合實戰(zhàn)》、《Android開發(fā)三劍客——UML、模式與測試》等多部Android著作。
五、培訓(xùn)證書
本課程頒發(fā)雙證,證書查詢:www.ncie.gov.cn;www.zpedu.org
1、工業(yè)和信息化部人才交流中心頒發(fā)的《全國信息化工程師》證書。
2、中國信息化培訓(xùn)中心頒發(fā)的《Android軟件開發(fā)工程師》證書。
證書可作為專業(yè)技術(shù)人員職業(yè)能力考核的證明,以及專業(yè)技術(shù)人員崗位聘用、任職、定級和晉升職務(wù)的重要依據(jù)。
六、培訓(xùn)費用
4500 元/人(含培訓(xùn)費、考試費、證書費、資料費、午餐) 食宿統(tǒng)一安排,費用自理。(請學(xué)員帶二寸彩照2張—背面注明姓名,身份證復(fù)印件一張)。
七、具體課程安排
日程
|
模塊單元
|
模塊單元
|
第 一 天
|
1.1Android的哲學(xué)思考 1. 造型簡單、內(nèi)涵豐富、無限重復(fù) 2. Android的勝利者 3. Android核心力量源泉 4. Android的IOC容器、解耦 5.Android和iOS的核心區(qū)別 1.4Android開發(fā)環(huán)境搭建和HelloWorld 1. Java、Eclipse、SDK、NDK、ADT 2. 搭建環(huán)境過程中的疑難問題 3.徹底解決沒有3G信號的問題 4.開發(fā)HelloWorld 5.徹底剖析個程序 6.Android應(yīng)用程序開發(fā)的經(jīng)典模式---MVC模式徹底剖析 7.總結(jié):掌握一個完整的應(yīng)用程序的開發(fā)步驟、注意事項、方法等 1.5Android發(fā)短信、發(fā)彩信、打電話 1.發(fā)短信案例 2.發(fā)彩信案例 3,打電話案例 4,總結(jié)和思考之一:Android應(yīng)用程序的設(shè)計理念 5,總結(jié)和思考之二:Android應(yīng)用程序的生命周期 1.6Activity生命周期剖析、應(yīng)用程序生命周期剖析 1.Activity生命周期周期圖分析 2.Activity生命周期測試代碼 3.Activity嵌套生命周期 4.應(yīng)用程序生命周期剖析 5.對Android管理應(yīng)用程序和Activity方式思考 1.7不同Activity之間的調(diào)用和數(shù)據(jù)傳輸,關(guān)于隱式Intent精彩絕倫剖析,關(guān)于setType的問題已經(jīng)解決方案顯示Intent和隱式Intent使用場景分析 1.startActivity,startActivityForResult,requestCode,resultCode,finish,onActivityResult的徹底剖析 2.關(guān)于隱式Intent剖析:動作(Action)、類別(category)、數(shù)據(jù)data(Uri(Schema,Host,Path)和數(shù)據(jù)類型(MimeType)) 3.setType()帶來的困擾以及佳解決方案 4.顯示Intent和隱式Intent使用場景、使用意義、利弊。 5.對Android中鼓勵解耦的實現(xiàn)方式的思考 1.8 Handler、Looper、Message、MessageQueue 1. Android的事件驅(qū)動模型 2. Looper、MessageQueue、Hanlder、Message等源碼深度剖析 3. Looper、MessageQueue、Hanlder、Message及多線程實戰(zhàn)案例 1.9 AsyncTASK異步線程技術(shù) 1. 使用AsyncTask的原因及對AsyncTask的思考 2. AsyncTask代碼示例 3. AsyncTask源碼剖析 4. 異步線程調(diào)用的應(yīng)用場景及注意事項
|
2.0Android調(diào)試 1.調(diào)試的重要價值 2. 調(diào)試實戰(zhàn) 2.1 Android基本UI設(shè)計與開發(fā)技巧 1. UI設(shè)計理念與開發(fā)技巧 2. 菜單實戰(zhàn); 3.Google Map、WebView、Gallery、Spinner、Tab Layout、Grid View、Table layout、Relative layout、Linear layout實戰(zhàn); 2.2 ListView異步加載技術(shù) 1. 使用ListView異步加載技術(shù)的必要性 2. ListView異步加載技術(shù)編程實戰(zhàn) 2.3 ListView分頁加載技術(shù) 1. 使用ListView分頁加載技術(shù)的必要性 2. ListView分頁加載技術(shù)編程實戰(zhàn) 2.4 Widget編程實戰(zhàn) 1. Widget應(yīng)用場景 2. Widget編程實戰(zhàn) 2.5自定義TabHost 1. Tabhost的應(yīng)用場景 2. 自定義TabHost編程實戰(zhàn) 3. TabHost源碼剖析 2.6自定義標(biāo)題欄 1. 自定義標(biāo)題欄的應(yīng)用場景 2. 自定義標(biāo)題欄編程實戰(zhàn) 3.自定義標(biāo)題欄疑難問題解析 2.7 PopupWindow 1. PopupWindow程序帶來的視覺沖擊 2. PopupWindow編程實戰(zhàn) 3. PopupWindow調(diào)試 2.8性能測試和優(yōu)化 1. 如何進(jìn)行性能測試 2. 性能測試實戰(zhàn) 3. 優(yōu)化法則和編碼應(yīng)該注意的地方 3.1圖片拖拉功能 1 圖片拖拉功能應(yīng)用場景 2 圖片拖拉功能編程實戰(zhàn) 3.2多點觸摸與縮放功能 1 多點觸摸與縮放功能應(yīng)用場景 2 多點觸摸與縮放功能編程實戰(zhàn) 3.3 ANDROID中圖形編程實戰(zhàn) 1 使用LAYER LIST制作動態(tài)相框 2 使用STATELIST實現(xiàn)不同狀態(tài)下圖片的切換 3 使用LEVEL LIST揭秘電池電量變換狀態(tài) 4 使用TRANSITION DRAWABLE實現(xiàn)動態(tài)過渡效果 5 使用CLIP DRAWABLE揭秘水平進(jìn)度條 6 使用SHAPE DRAWABLE自定義幾何圖形 3.4廣播接受者BroadcastReceiver,短信監(jiān)聽器案例(接受到短信后上傳到服務(wù)器或發(fā)送到指定的號碼或者發(fā)送到指定的郵件中) 1.剖析廣播接收者,與JMS的比較,廣播接受者的IoC原理 2.短信監(jiān)聽Android客戶端 3.服務(wù)器端搭建 4.通過網(wǎng)絡(luò)把接收到的短信上傳到服務(wù)器 5.把接收到的短信發(fā)送到指定的手機號碼或者郵件中 6.BroadcastReceiver的的生命周期和注意事項以及5秒鐘生命響應(yīng)時間的解決方案
|
第 二 天
|
3.5服務(wù)Service,電話監(jiān)聽器(每次開機的時候自動開機,電話來時錄音并上傳到服務(wù)器) 1.詳細(xì)剖析Service 2.構(gòu)建電話監(jiān)聽的Service 3.使用BroadcastReceiver監(jiān)聽開機事件,并在開機時啟動電話監(jiān)聽的Service 4.上傳音頻文件到服務(wù)器 5.關(guān)于Android安全體系的思考 3.6 SharedPreferences的讀寫、SharedPreferences操作權(quán)限、從不同的包中讀取參數(shù)及源代碼剖析 1.SharedPreferences的讀 2.SharedPreferences的寫 3.對SharedPreference操作權(quán)限分析 4.讀寫不同包中的SharedPreference 5.源代碼剖析 3.7單元測試、日志、手機內(nèi)部文件的形式存儲數(shù)據(jù)及源代碼剖析 1.單元測試 2.日志 3.對手機的文件進(jìn)行讀寫:openFileInput()、openFileOutput() 4.對文件讀寫的單元測試 5.對四種文件權(quán)限模式的測試 6.常用的文件讀寫API簡介 7.剖析源代碼 3.8 SDCard讀寫、代碼重構(gòu)、源代碼剖析 1.構(gòu)建業(yè)務(wù)層 2.對業(yè)務(wù)層的單元測試 3.使用Activity調(diào)用業(yè)務(wù)層對SDCard進(jìn)行讀寫 4.提取出幫助類,遵循MVC模式對代碼重構(gòu)。 5.源代碼剖析 3.9 SQLite管理工具類、CRUD操作、分頁等及源代碼剖析 1.SQLite簡介 2.SQLiteOpenHelper類 3.CURD:execSQL()和rawQuery() 4.分頁 5.對getWritableDatabase()和getReadableDatabase()進(jìn)行源代碼分析 6.執(zhí)行流程和原理的深入徹底的剖析 7.源代碼剖析 4.0使用Android自身提供的API進(jìn)行CRUD操作、ListView的詳細(xì)講解及源代碼剖析 1.使用Android自帶的insert、update、query、delete等進(jìn)行CRUD操作 2.剖析insert、update、query、delete的源代碼 3.對ListView深入詳細(xì)的剖析,自定義視圖,自定義Adapter。 4.剖析Cursor的源代碼 5.關(guān)于SQLite和Cursor的“_id”問題的剖析和解決方案 7.源代碼剖析
|
5.1 ContentProvider背景、用途,如何構(gòu)建ContentProvider,UriMatcher,ContentUris,對CotentProvider進(jìn)行單元測試、源代碼分析 1.ContentProvider背景、用途 2.構(gòu)建ContentProvider的詳細(xì)步驟 3.對URI的徹底剖析 4.分析UriMatcher,ContentUris 5.對ContentProvider的層代碼單元測試 6.ContentProvider的源代碼剖析 5.2基于通訊錄的開發(fā) 1. 通訊錄的數(shù)據(jù)庫和數(shù)據(jù)表分析 2. 通訊錄ContentProvider的源碼剖析 3. 獲取所有的聯(lián)系人信息 4.添加聯(lián)系人 5.如何處理添加通訊錄記錄時的事物問題 6.1深入Android測試,涵蓋Activity、Service、ContentProvider的測試等 1.Assertion 定制消息\靜態(tài)導(dǎo)入 2. 深入Assertion 3. TouchUtils類 4. Mock對象 MockContext概述 IsolatedContext類 對文件和數(shù)據(jù)庫的測試操作 MockContentResolver類 5.基類TestCase 沒有參數(shù)的構(gòu)造方法 傳遞參數(shù)的構(gòu)造方法 setName()方法 6.基類AndroidTestCase assertActivityRequiresPermission() 方法剖析和實戰(zhàn) assertReadingContentUriRequiresPermission() 方法剖析和實戰(zhàn) assertWritingContentUriRequiresPermission()方法剖析和實戰(zhàn) 7. Instrumentation ActivityMonitor內(nèi)部類剖析和實戰(zhàn) 8. InstrumentationTestCase類 launchActivity和launchActivityWithIntent 方法 sendKeys和sendRepeatedKeys方法 runTestOnUiThread幫助方法 9. ActivityTestCase類 scrubClass方法 10. ActivityInstrumentationTestCase2類 構(gòu)造方法 setUp方法earDown方法\ testPreconditions方法
|
第 三 天
|
11. ProviderTestCase2類構(gòu)造方法實戰(zhàn) 12. ServiceTestCase 構(gòu)造方法 13.TestSuiteBuilder.FailedToCreate Tests類剖析 14. 在測試工程中使用external ibraries 6.2斷點續(xù)傳(一)類似迅雷的多線程下載器(適用于任何類型的文件下載) 1,多線程下載斷點續(xù)傳原理和流程圖 2,下載文件時Http協(xié)議協(xié)議詳解 3,多線程下載斷點續(xù)傳程序:設(shè)計服務(wù)端和Android端 4,Android端的內(nèi)容涉及IoC、多線程、SQLite數(shù)據(jù)庫、Handler、Http協(xié)議、緩存處理、意外關(guān)機時候的處理、編寫框架、MVC、Service、Android中的I/O流、代碼調(diào)試、Activity的生命周期等 5,單元測試 6,軟件調(diào)試 6.3斷點續(xù)傳(二)多線程斷點文件上傳器(適用于任何類型的文件上傳) 1,斷點續(xù)傳原理和流程圖 2,上傳文件的Http協(xié)議詳解 3,自定義自己的文件傳輸協(xié)議 4,服務(wù)端程序的編寫:文件的下載與實時數(shù)據(jù)的記錄、監(jiān)聽模式、亂碼問題的處理、并發(fā)問題、黑客安全問題 5,客戶端程序的編寫:Android內(nèi)存溢出問題,Android中的Socket編程、大文件的傳輸、大文件傳輸時候的安全問題 6,單元測試 7,軟件調(diào)試 6.4 Android客戶端表單數(shù)據(jù)的上傳 1,上傳基本的數(shù)據(jù)類型 上傳圖片等附件 把代碼重構(gòu)為能夠上傳任意數(shù)量的字段和任意數(shù)量的附件的工具類 思考本地離線存儲/在線上傳技術(shù)方案
|
7.1Android中Java與WebView中Javascript相互溝通 1,制作Android界面的新大陸 Java調(diào)用Javascript Javascript調(diào)用Java 7.2: Android ndk中C通過JNI調(diào)用Java 1 本地C代碼調(diào)用Java中的Method 2本地C代碼獲得Java對象的屬性值 3 多個類中有本地C代碼的調(diào)用 4 在本地代碼中創(chuàng)建Java對象 5 處理異常 7.3:ANDROID NDK中Java與C++溝通 1 Java代碼調(diào)用C++代碼 2 C++代碼調(diào)用Java代碼 7.4:NDK中的多線程編程 1 深度剖析Java、Dalvik VM、C/C++的運行流程 2 Java中分配線程調(diào)用C/C++函數(shù) 3 C/C++本地代碼通過分配線程調(diào)用Java函數(shù) 7.5:Android手機功能開發(fā)(20分鐘) 1 應(yīng)用程序控制硬件的起點:getSystemService函數(shù)剖析; 2手機硬件功能開發(fā)、Android底層方法的調(diào)用等 7.6瀏覽器開發(fā)和自定義 1 瀏覽器定制和開發(fā)的核心原理剖析 2 瀏覽器定制和開發(fā)的技術(shù)手段剖析 3 瀏覽器定制和開發(fā)實戰(zhàn) 7.7 HTML5時代:Device、Browser、Cloud 1 HTML5時代誰重要? 2 HTML5與Device 3 HTML5與Cloud 4 什么主導(dǎo)了HTML5時代? 7.8 Android應(yīng)用程序運行背后秘密---WindowManagerService源碼剖析1 Android應(yīng)用程序的main入口到底在哪里? 2 ActivityThread成為應(yīng)用程序的主線程的過程是什么? 3 Looper、MessageQueue、Handler背后的秘密; 4 Android的Activity、Service、Provider、Receiver啟動的流程源碼剖析
|