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