課程收益
具體收益包括:
1. 揭秘Android;
2. 精通四大組件;
3. 精通Android高級(jí)界面編程;
4. 精通Android網(wǎng)絡(luò)編程;
5. 實(shí)戰(zhàn)Android測(cè)試技術(shù);
6. 洞悉HTML5;
7. 熟練Android 系統(tǒng)服務(wù)
8. 熟練掌握Android 開發(fā)技巧
9. 熟練掌握Android 微信開發(fā)服務(wù)
三、 培訓(xùn)大綱
實(shí)施說(shuō)明本課程共分三期,每期四個(gè)授課時(shí)段,兩個(gè)下午與兩個(gè)晚上。第一期Android基礎(chǔ);第二期Android UI與即時(shí)通訊;第三期微信SDK、HTML5開發(fā)。
第一期Android基礎(chǔ)
第一單元 一、Android平臺(tái)環(huán)境搭建
1.1Android的哲學(xué)思考
1. 造型簡(jiǎn)單、內(nèi)涵豐富、無(wú)限重復(fù)
2. Android的勝利者
3. Android核心力量源泉
4. Android的IOC容器、解耦
5.Android和iOS的核心區(qū)別
1.2Android框架分析
1. Android框架
2. Android設(shè)計(jì)模式
3. 深入Android的IOC
4.框架的重大意義
5.Android的硬件框架HAL
6.Android各主要版本區(qū)別(2.3,3.0, 4.0)
7..Android和iOS的共同點(diǎn)
1.3Dalvik VM
1. Dalvik VM的特點(diǎn),Dalvik VM和JVM的比較
2 .Dalvik VM的內(nèi)存分布及OOM(Out of Memory)的根本原因和解決方案是什么?
3 .Preload Classes和 Preload Resources,ClassLoader到底在哪里?
4 .Dalvik與Java和C/C++
1.4Android開發(fā)環(huán)境搭建和HelloWorld
1. Java、Eclipse、SDK、NDK、ADT
2. 搭建環(huán)境過(guò)程中的疑難問(wèn)題
3.徹底解決沒有3G信號(hào)的問(wèn)題
4.開發(fā)HelloWorld
5.徹底剖析第一個(gè)程序
6.Android應(yīng)用程序開發(fā)的經(jīng)典模式---MVC模式徹底剖析
7.總結(jié):掌握一個(gè)完整的應(yīng)用程序的開發(fā)步驟、注意事項(xiàng)、方法等
第二單元 二、Android 四大組件
2.1Android發(fā)短信、發(fā)彩信、打電話
1.發(fā)短信案例
2.發(fā)彩信案例
3,打電話案例
4,總結(jié)和思考之一:Android應(yīng)用程序的設(shè)計(jì)理念
5,總結(jié)和思考之二:Android應(yīng)用程序的生命周期
2.2Activity生命周期剖析、應(yīng)用程序生命周期剖析
1.Activity生命周期周期圖分析
2.Activity生命周期測(cè)試代碼
3.Activity嵌套生命周期
4.應(yīng)用程序生命周期剖析
5.對(duì)Android管理應(yīng)用程序和Activity方式思考
2.3不同Activity之間的調(diào)用和數(shù)據(jù)傳輸,關(guān)于隱式Intent精彩絕倫剖析,關(guān)于setType的問(wèn)題已經(jīng)解決方案顯示Intent和隱式Intent使用場(chǎng)景分析
3.setType()帶來(lái)的困擾以及最佳解決方案
4.顯示Intent和隱式Intent使用場(chǎng)景、使用意義、利弊。
5.對(duì)Android中鼓勵(lì)解耦的實(shí)現(xiàn)方式的思考
2.4廣播接受者BroadcastReceiver,短信監(jiān)聽器案例(接受到短信后上傳到服務(wù)器或發(fā)送到指定的號(hào)碼或者發(fā)送到指定的郵件中)
1.剖析廣播接收者,與JMS的比較,廣播接受者的IoC原理
2.短信監(jiān)聽Android客戶端
3.服務(wù)器端搭建
4.通過(guò)網(wǎng)絡(luò)把接收到的短信上傳到服務(wù)器
5.把接收到的短信發(fā)送到指定的手機(jī)號(hào)碼或者郵件中
6.BroadcastReceiver的的生命周期和注意事項(xiàng)以及5秒鐘生命響應(yīng)時(shí)間的解決方案
2.5服務(wù)Service,電話監(jiān)聽器(每次開機(jī)的時(shí)候自動(dòng)開機(jī),電話來(lái)時(shí)錄音并上傳到服務(wù)器)
1.詳細(xì)剖析Service
2.構(gòu)建電話監(jiān)聽的Service
3.使用BroadcastReceiver監(jiān)聽開機(jī)事件,并在開機(jī)時(shí)啟動(dòng)電話監(jiān)聽的Service
4.上傳音頻文件到服務(wù)器
5.關(guān)于Android安全體系的思考
第三單元 三、Andriod 數(shù)據(jù)存儲(chǔ)
3.1 SharedPreferences的讀寫、SharedPreferences操作權(quán)限、從不同的包中讀取參數(shù)及源代碼剖析
1.SharedPreferences的讀
2.SharedPreferences的寫
3.對(duì)SharedPreference操作權(quán)限分析
4.讀寫不同包中的SharedPreference
5.源代碼剖析
3.2單元測(cè)試、日志、手機(jī)內(nèi)部文件的形式存儲(chǔ)數(shù)據(jù)及源代碼剖析
1.單元測(cè)試
2.日志
3.對(duì)手機(jī)的文件進(jìn)行讀寫:openFileInput()、openFileOutput()
4.對(duì)文件讀寫的單元測(cè)試
5.對(duì)四種文件權(quán)限模式的測(cè)試
6.常用的文件讀寫API簡(jiǎn)介
7.剖析源代碼
3.3SDCard讀寫、代碼重構(gòu)、源代碼剖析
1.構(gòu)建業(yè)務(wù)層
2.對(duì)業(yè)務(wù)層的單元測(cè)試
3.使用Activity調(diào)用業(yè)務(wù)層對(duì)SDCard進(jìn)行讀寫
4.提取出幫助類,遵循MVC模式對(duì)代碼重構(gòu)。
5.源代碼剖析
3.4 SQLite管理工具類、CRUD操作、分頁(yè)等及源代碼剖析
1.SQLite簡(jiǎn)介
2.SQLiteOpenHelper類
3.CURD:execSQL()和rawQuery()
4.分頁(yè)
5.對(duì)getWritableDatabase()和getReadableDatabase()進(jìn)行源代碼分析
6.執(zhí)行流程和原理的深入徹底的剖析
7.源代碼剖析
第四單元 3.5使用Android自身提供的API進(jìn)行CRUD操作、ListView的詳細(xì)講解及源代碼剖析
1.使用Android自帶的insert、update、query、delete等進(jìn)行CRUD操作
2.剖析insert、update、query、delete的源代碼
3.對(duì)ListView深入詳細(xì)的剖析,自定義視圖,自定義Adapter。
4.剖析Cursor的源代碼
5.關(guān)于SQLite和Cursor的“_id”問(wèn)題的剖析和解決方案
7.源代碼剖析
3.6 ContentProvider背景、用途,如何構(gòu)建ContentProvider,UriMatcher,ContentUris,對(duì)CotentProvider進(jìn)行單元測(cè)試、源代碼分析
1.ContentProvider背景、用途
2.構(gòu)建ContentProvider的詳細(xì)步驟
3.對(duì)URI的徹底剖析
4.分析UriMatcher,ContentUris
5.對(duì)ContentProvider的層代碼單元測(cè)試
6.ContentProvider的源代碼剖析
3.7基于通訊錄的開發(fā)
1. 通訊錄的數(shù)據(jù)庫(kù)和數(shù)據(jù)表分析
2. 通訊錄ContentProvider的源碼剖析
3. 獲取所有的聯(lián)系人信息
4.添加聯(lián)系人
5.如何處理添加通訊錄記錄時(shí)的事物問(wèn)題
第二期Android UI與即時(shí)通訊
第一單元
四、Android UI
4.1 Android基本UI設(shè)計(jì)與開發(fā)技巧
1. UI設(shè)計(jì)理念與開發(fā)技巧
2. 菜單實(shí)戰(zhàn);
3.Google Map、WebView、Gallery、Spinner、Tab Layout、Grid View、Table layout、Relative layout、Linear layout實(shí)戰(zhàn);
4.2 ListView異步加載技術(shù)
1. 使用ListView異步加載技術(shù)的必要性
2. ListView異步加載技術(shù)編程實(shí)戰(zhàn)
4.3 ListView分頁(yè)加載技術(shù)
1. 使用ListView分頁(yè)加載技術(shù)的必要性
2. ListView分頁(yè)加載技術(shù)編程實(shí)戰(zhàn)
4.4 Widget編程實(shí)戰(zhàn)
1. Widget應(yīng)用場(chǎng)景
2. Widget編程實(shí)戰(zhàn)
4.5自定義TabHost
1. Tabhost的應(yīng)用場(chǎng)景
2. 自定義TabHost編程實(shí)戰(zhàn)
3. TabHost源碼剖析
4.6自定義標(biāo)題欄
1. 自定義標(biāo)題欄的應(yīng)用場(chǎng)景
2. 自定義標(biāo)題欄編程實(shí)戰(zhàn)
3.自定義標(biāo)題欄疑難問(wèn)題解析
4.7 PopupWindow
1. PopupWindow程序帶來(lái)的視覺沖擊
2. PopupWindow編程實(shí)戰(zhàn)
3. PopupWindow調(diào)試
第二單元
4.8 WebView
1. WebView主要的API
2. WebView的行為
3. WebView控制Web頁(yè)面的各個(gè)方面及實(shí)例
4. WebView高級(jí)應(yīng)用
5.WebView的高級(jí)控制
6. WebView和服務(wù)器
7.WebView和CGI請(qǐng)求相結(jié)合
4.9 性能測(cè)試和優(yōu)化
1. 如何進(jìn)行性能測(cè)試
2. 性能測(cè)試實(shí)戰(zhàn)
3. 優(yōu)化法則和編碼應(yīng)該注意的地方
五、Android JNI
5.1: Android ndk中C通過(guò)JNI調(diào)用Java
1 本地C代碼調(diào)用Java中的Method
2本地C代碼獲得Java對(duì)象的屬性值
3 多個(gè)類中有本地C代碼的調(diào)用
4 在本地代碼中創(chuàng)建Java對(duì)象
5 處理異常
5.2:ANDROID NDK中Java與C++溝通
1 Java代碼調(diào)用C++代碼
2 C++代碼調(diào)用Java代碼
5.3:NDK中的多線程編程
1 深度剖析Java、Dalvik VM、C/C++的運(yùn)行流程
2 Java中分配線程調(diào)用C/C++函數(shù)
3 C/C++本地代碼通過(guò)分配線程調(diào)用Java函數(shù)
5.4:Android手機(jī)功能開發(fā)(20分鐘)
1 應(yīng)用程序控制硬件的起點(diǎn):getSystemService函數(shù)剖析;
2手機(jī)硬件功能開發(fā)、Android底層方法的調(diào)用等
六、Andrord 多媒體開發(fā)及數(shù)據(jù)適配器
1. 多媒體音視頻播放
2. OpenCore多媒體框架;MediaPlayer生命周期;音頻播放與控制;VideoView生命周期;視頻播放與控制。
3. 多媒體圖像采集
4. Camera拍照或圖像采集;SurfaceView圖像顯示SurfaceView繪圖、Canvas與Paint。
5. 多媒體音視頻錄制
6. MediaRecorder生命周期、音頻錄制與控制;MediaRecorder視頻錄制與控制。
7. 使用數(shù)據(jù)適配器
8. 數(shù)據(jù)適配的原理、SimpleAdapter適配器、SimpleCursorAdapter適配器、自定義BaseAdapter。
第三單元 七、Android 網(wǎng)絡(luò)服務(wù)
7.1 Handler、Looper、Message、MessageQueue
1. Android的事件驅(qū)動(dòng)模型
2. Looper、MessageQueue、Hanlder、Message等源碼深度剖析
3. Looper、MessageQueue、Hanlder、Message及多線程實(shí)戰(zhàn)案例
7.2 AsyncTASK異步線程技術(shù)
1. 使用AsyncTask的原因及對(duì)AsyncTask的思考
2. AsyncTask代碼示例
3. AsyncTask源碼剖析
4. 異步線程調(diào)用的應(yīng)用場(chǎng)景及注意事項(xiàng)
第四單元 7.3斷點(diǎn)續(xù)傳(一)類似迅雷的多線程下載器(適用于任何類型的文件下載)
1. 多線程下載斷點(diǎn)續(xù)傳原理和流程圖
2. 下載文件時(shí)Http協(xié)議協(xié)議詳解
3. 多線程下載斷點(diǎn)續(xù)傳程序:設(shè)計(jì)服務(wù)端和Android端
4. Android端的內(nèi)容涉及IoC、多線程、SQLite數(shù)據(jù)庫(kù)、Handler、Http協(xié)議、緩存處理、意外關(guān)機(jī)時(shí)候的處理、編寫框架、MVC、Service、Android中的I/O流、代碼調(diào)試、Activity的生命周期等
5. 單元測(cè)試
6. 軟件調(diào)試
7.4斷點(diǎn)續(xù)傳(二)多線程斷點(diǎn)文件上傳器(適用于任何類型的文件上傳)
1. 斷點(diǎn)續(xù)傳原理和流程圖
2. 上傳文件的Http協(xié)議詳解
3. 自定義自己的文件傳輸協(xié)議
4. 服務(wù)端程序的編寫:文件的下載與實(shí)時(shí)數(shù)據(jù)的記錄、監(jiān)聽模式、亂碼問(wèn)題的處理、并發(fā)問(wèn)題、黑客安全問(wèn)題
5. 客戶端程序的編寫:Android內(nèi)存溢出問(wèn)題,Android中的Socket編程、大文件的傳輸、大文件傳輸時(shí)候的安全問(wèn)題
6. 單元測(cè)試
軟件調(diào)試
第三期微信SDK、HTML5開發(fā)
第一單元 Android 微信開發(fā)實(shí)錄
第一章:應(yīng)用接入
1. 微信帝國(guó)一覽
2. 開發(fā)者注冊(cè)以及創(chuàng)建移動(dòng)應(yīng)用
3. 微信SDK Demo演示
4. 編寫我的Hello World應(yīng)用
第二章:微信API接口詳解
1. 微信通信原理和創(chuàng)建IWXAPI實(shí)例
2. IWXAPI接口的使用方法
3. 請(qǐng)求基類和響應(yīng)基類
4. 請(qǐng)求相關(guān)實(shí)現(xiàn)類和響應(yīng)相關(guān)實(shí)現(xiàn)類
5. 微信支付相關(guān)類
6. API中的各種常量
第二單元 第三章:發(fā)送消息到微信
1. 發(fā)送文本消息到微信
2. 發(fā)送二進(jìn)制圖片數(shù)據(jù)到微信
3. 發(fā)送本地路徑圖片和網(wǎng)絡(luò)連接圖片到微信
4. 發(fā)送音樂(lè)消息到微信
5. 發(fā)送視頻消息到微信
6. 發(fā)送網(wǎng)頁(yè)鏈接到微信
7. 實(shí)現(xiàn)二級(jí)菜單欄目
8. 發(fā)送文件到微信
9. 發(fā)送表情消息到微信
10. 發(fā)送APP消息到微信
11. 發(fā)送場(chǎng)景的選擇
第四章:微信登錄
1. 接受微信響應(yīng)
2. OAuth2.0授權(quán)
3. 授權(quán)微信登錄
4. 通過(guò)code獲取access_token.
5. 通過(guò)access_token.獲取用戶信息
6. 刷新或續(xù)期access_token.
第三單元 第1個(gè)主題:HTML5 架構(gòu)思維
1,1 All in JavaScript
1,2 Architect of Device & Cloud
1,3 Open Platform & API
第2個(gè)主題:HTML5時(shí)代的商業(yè)機(jī)會(huì)和變革
2,1 HTML5和以前的HTML的不同;
2.2 HTML5時(shí)代新的商業(yè)模式;
2.3 HTML5與傳統(tǒng)的Native App;
2.4 HTML5將給整個(gè)IT界帶來(lái)全新的變革
第3個(gè)主題:通過(guò)一個(gè)Blog實(shí)例實(shí)戰(zhàn)HTML5&CSS3
3.1 實(shí)戰(zhàn)HTML5新增頁(yè)面元素
3.2 實(shí)戰(zhàn)HTML5中的表單
3.3 實(shí)戰(zhàn)HTML5中的Canvas
3.4 實(shí)戰(zhàn)html 5頁(yè)面中視頻和音頻
3.5 CSS3技術(shù)實(shí)戰(zhàn)
第四單元 第4主題:瀏覽器開發(fā)和自定義
4.1 瀏覽器定制和開發(fā)的核心原理剖析
4.2 瀏覽器定制和開發(fā)的技術(shù)手段剖析
4.3 瀏覽器定制和開發(fā)實(shí)戰(zhàn)
第5主題:瀏覽器定制技術(shù)基石:WebView下JavaScript如何與本地API進(jìn)行相互調(diào)用
5.1 以Android系統(tǒng)為例探討制作Android界面的新大陸
5.2 瀏覽器的JavaScriptInterface
5.3 本地API調(diào)用Javascript
5.4 Javascript調(diào)用本地API
第6個(gè)主題: HTML5的多線程技術(shù)
6.1為什么HTML5的多線程技術(shù)是Device端編程的一項(xiàng)革命
6.2 WebWorker的原理和機(jī)制
6.3 Dedicated Worker和Shared Worker詳解
6.4 工作線程生命周期
6.5 通過(guò)后臺(tái)數(shù)值計(jì)算、共享線程、線程代理等實(shí)戰(zhàn)多線程技術(shù)
|