從零起步,24小時內經過23個動手實戰案例,按部就班的對Android商業級別的應用程序開發要點各個擊破,依託於在多年的Android(6款完整的硬件產品和超過20款應用軟件)開發和企業級培訓經驗(超過150期的次Android的企業內訓和公開課),旨在在實務的基礎之上幫助你完成任何複雜程序的高質量Android應用程序開發,讓Android開發跟上想象的速度。最後,經過ActivityManagerService揭祕Android應用程序一切行爲背後的核心根源,讓你今後開發應用程序居高零下、舉重若輕。web
1,抽取Android應用開發中用到的最精華的Java技術加以剖析;數據庫
2,從零起步構建Android開發環境和編寫並完全剖析第一個Android程序;編程
3,完全剖析不一樣Activity之間全部的交互模式;瀏覽器
4,根據商業化場景完全剖析Android的生命週期及其使用的最佳時間;緩存
5,使用JUnit測試Android業務代碼;安全
6,掌握Android基本和核心的UI開發技術;服務器
7,」Android商業化高級UI實戰」是根據過去20多款商業級別Android應用程序開發尤爲是相似CRM系統中最經典、最常常使用的技術抽取而成,掌握以後基本上不會在遇到UI方面的難點;網絡
8,細緻剖析並實戰Android性能測試,找出性能瓶頸,並進行代碼優化,分享代碼優化的最佳實踐;多線程
9,對數據的處理時Android絕大多數應用程序的核心,尤爲是對CRM系統而言,這一天,咱們會對Android中的本地數據處理方式及其商業使用場景進行完全剖析和實戰;架構
10,從SharedPreferences到內部文件系統,從SDCard操做到SQLite數據庫,從XML和JSON的解析於生成到數據共享統一接口ContentProvider,對Android本地的數據處理方式進行地毯式轟炸;
11,通信錄的操做的原理、流程和場景等進行了情景再現性的代碼實戰;
12,經過Android手機衛士商業級別的代碼案例實戰Android中BroadcastReceiver和Service;
13,根據過去20多款程序的商業實戰總結出了可以解決基於HTTP協議的任意文件類型、任意大小文件的網絡上傳和下載,Android網絡開發今後一勞永逸;
14,實戰WiFi數據交換;
15,尤爲是額外提到異步http框架,具有很強的商業價值;
16,Android橫豎屏切換的經典場景、生命週期和解決方案;
17,實戰構建多語言國際化的Android應用程序;
18,如何編譯APK來提升應用的安全性;
19,如何反編譯Android應用
20,經過Android中WebView的特性洞悉Android中JavaScript與Java相互溝通的密碼,追尋瀏覽器和HTML5開發的架構和技術實現根源;
21,使用NDK等技術利用C/C++的高效性來提升應用程序的性能;
22,實現Android中以Looper、Handler、Message、MessageQueue爲核心的線程間通訊方式;
23,實戰並剖析AsyncTask框架實現的源代碼,並提出對AsyncTask缺陷的解決方案;
24,最後,揭祕Android應用程序一切行爲背後的核心根源:ActivityManagerService
1, 從零起步24小時內掌握Android應用程序開發
2, 通曉Android的架構哲學和力量來源以及實現技術;
3, 可以開發出任意類型、任意複雜程度的安全、高效的應用程序;
4, 根據過去的20多款Android商業應用軟件的實踐,提供彌足珍貴的源代碼,上完課程即至關於完成了Android應用項目80%左右的開發,全部的開發難點一掃而光;
對Android有強烈興趣,可以讀懂基本的C#或Java語法;
王家林老師
Android架構師、高級工程師、諮詢顧問、培訓專家;
通曉Android、HTML五、Hadoop,迷戀英語播音和健美;
致力於Android、HTML五、Hadoop的軟、硬、雲整合的一站式解決方案;
國內最先(2007年)從事於Android系統移植、軟硬整合、框架修改、應用程序軟件開發以及Android系統測試和應用軟件測試的技術專家和技術創業人員之一。
HTML5技術領域的最先實踐者(2009年)之一,成功爲多個機構實現多款自定義HTML5瀏覽器,參與某知名的HTML5瀏覽器研發;
Hadoop源碼級專家,曾負責某知名公司的類Hadoop框架開發工做,專一於Hadoop一站式解決方案的提供,同時也是雲計算分佈式大數據處理的最先實踐者之一,Hadoop的狂熱愛好者,不斷的在實踐中用Hadoop解決不一樣領域的大數據的高效處理和存儲,如今正負責Hadoop在搜索引擎中的研發中國電信的屢次Hadoop培訓,花旗銀行的Hadoop內訓,金立手機的Hadoop內訓等,著有《雲計算分佈式大數據Hadoop實戰高手之路---從零開始》《雲計算分佈式大數據Hadoop實戰高手之路---高手崛起》《雲計算分佈式大數據Hadoop。實戰高手之路---高手之巔》等;
超過10本的IT暢銷書做者;
時間 |
內容 |
備註 |
第一天 |
第1個動手案例:Android開發環境搭建和HelloWorld(60分鐘) 1. Java、Eclipse、SDK、NDK、ADT 2. 搭建環境過程當中的疑難問題 3.完全解決沒有3G信號的問題 4.開發HelloWorld 5.完全剖析第一個程序 6.Android應用程序開發的經典模式---MVC模式完全剖析 7.總結:掌握一個完整的應用程序的開發步驟、注意事項、方法等 8.Java在Android開發中的最佳實踐之一:Java開發金三角 9. Java在Android開發中的最佳實踐之二:「Don’t call me, I’ll call you back!」 10. Java在Android開發中的最佳實踐之三:UI線程和業務線程; 11. Java在Android開發中的最佳實踐之四:生命週期控制; 12. Java在Android開發中的最佳實踐之五:面向接口編程; 13. Java在Android開發中的最佳實踐之六:反射技術 第2個動手案例:Activity生命週期剖析、應用程序生命週期剖析以及應用程序開發最佳模式(60分鐘)1.Activity生命週期週期圖分析 2.Activity生命週期測試代碼 3.Activity嵌套生命週期 4.應用程序生命週期剖析 5.不一樣Activity之間的相互溝通 6.對Android管理應用程序和Activity方式的思考 7.Android應用程序開發的最佳模式
第3個動手案例:Android商業化高級UI實戰:ListView異步加載技術(60分鐘) 1. 使用ListView異步加載技術的必要性 2. ListView異步加載技術編程實戰
第4個動手案例:Android商業化高級UI實戰:ListView分頁加載技術(60分鐘) 1. 使用ListView分頁加載技術的必要性 2. ListView分頁加載技術編程實戰
第5個動手案例:Android商業化高級UI實戰:Fragment (60分鐘) 3 使用Fragment建立選項卡 4 Fragment的向下兼容 5 Fragment的生命週期 6 Fragment之間的通訊
第6個動手案例:Android商業化高級UI實戰:自定義標題欄和PopupWindow(60分鐘) 1. 自定義標題欄的應用場景 2. 自定義標題欄編程實戰 3.自定義標題欄疑難問題解析 4. PopupWindow爲Android程序帶來的視覺衝擊 5. PopupWindow編程實戰 6. PopupWindow調試
|
|
次日 |
第7個動手案例:SharedPreferences、手機內部文件的形式存儲數據操做、SDCard操做、單元測試(60分鐘) 1.SharedPreferences的讀 2.SharedPreferences的寫 3.對SharedPreference操做權限分析 4.讀寫不一樣包中的SharedPreference 5. SharedPreference源代碼剖析 6.對手機的文件進行讀寫:openFileInput()、openFileOutput() 7.對文件讀寫的單元測試 8.對四種文件權限模式的測試 9.經常使用的文件讀寫API簡介 10.剖析源代碼 11.使用Activity調用業務層對SDCard進行讀寫 12.單元測試
第8個動手案例:SQLite管理工具類、CRUD操做、分頁等及源代碼剖析、使用Android自身提供的API進行CRUD操做、ListView的詳細講解及源代碼剖析(60分鐘) 1.SQLite簡介 2.SQLiteOpenHelper類 3.CURD:execSQL()和rawQuery() 4.分頁 5.對getWritableDatabase()和getReadableDatabase()進行源代碼分析,剖析其原理 6.執行流程和原理的深刻完全的剖析 7.源代碼剖析 8.使用Android自帶的insert、update、query、delete等進行CRUD操做 9.剖析insert、update、query、delete的源代碼 10.對ListView深刻詳細的剖析,自定義視圖,自定義Adapter。 11.剖析Cursor的源代碼 12.關於SQLite和Cursor的「_id」問題的剖析和解決方案
第9個動手案例:使用Android內置的pull實現對XML文件的讀、寫及源代碼剖析 Android中JSON解析(60分鐘) 1.爲何在Android中對XML文件的讀、寫首選pull 2.用pull實現對XML的解析 3.用pull實現對XML的寫入 4.使用寫入器Writer實現文件的寫入已經把內容直接寫入內存中 5.採用短點調試的方式剖析PULL的解析流程 6.源代碼剖析 7.Android下JSON解析代碼模板
第10個動手案例:ContentProvider背景、用途,如何構建ContentProvider,UriMatcher,ContentUris,對CotentProvider進行單元測試、源代碼分析(60分鐘) 1.ContentProvider背景、用途 2.構建ContentProvider的詳細步驟 3.對URI的完全剖析 4.分析UriMatcher,ContentUris 5.對ContentProvider的業務層代碼進行單元測試 6.ContentProvider的源代碼剖析 第11個動手案例:基於通信錄的開發(60分鐘) 1. 通信錄的數據庫和數據表分析 2. 通信錄ContentProvider的源碼剖析 3. 獲取全部的聯繫人信息 4.添加聯繫人 5.如何處理添加通信錄記錄時的事物問題
第12個動手案例:性能測試和優化(60分鐘) 1. 如何進行性能測試 2. 性能測試實戰 3. 優化法則和編碼應該注意的地方
|
|
第三天 |
第13個動手案例:廣播接受者BroadcastReceiver,短信監聽器案例(接受到短信後上傳到服務器或發送到指定的號碼或者發送到指定的郵件中)(60分鐘) 1.剖析廣播接收者,與JMS的比較,廣播接受者的IoC原理 2.短信監聽Android客戶端 3.服務器端搭建 4.經過網絡把接收到的短信上傳到服務器 5.把接收到的短信發送到指定的手機號碼或者郵件中 6.BroadcastReceiver的的生命週期和注意事項以及5秒鐘生命響應時間的解決方案 7.服務中的ANR問題及其解決方案; 第13個動手案例:服務Service,電話監聽器(每次開機的時候自動開機,電話來時錄音並上傳到服務器)(60分鐘) 1.詳細剖析Service 2.構建電話監聽的Service 3.使用BroadcastReceiver監聽開機事件,並在開機時啓動電話監聽的Service 4.上傳音頻文件到服務器 5.關於Android安全體系的思考
第14個動手案例:使用AIDL開發遠程服務(60分鐘) 1.AIDL底層原理:基於Binder的Proxy-Stub 2.使用AIDL編寫的具體步驟 3.動手編寫服務端和客戶端 4.測試並調試
第15個動手案例:斷點續傳(一)相似迅雷的多線程下載器(適用於任何類型的文件下載)(120分鐘) 1,多線程下載斷點續傳原理和流程圖 2,下載文件時Http協議協議詳解 3,多線程下載斷點續傳程序:設計服務端和Android端 4,Android端的內容涉及IoC、多線程、SQLite數據庫、Handler、Http協議、緩存處理、意外關機時候的處理、編寫框架、MVC、Service、Android中的I/O流、代碼調試、Activity的生命週期等 5,單元測試 6,軟件調試
第16個動手案例:Android客戶端表單數據的上傳(60分鐘) 1.上傳基本的數據類型 2. 上傳圖片等附件 3.把代碼重構爲可以上傳任意數量的字段和任意數量的附件的工具類 4.思考本地離線存儲/在線上傳的技術方案
第17個動手案例:httpclient和異步http框架(30分鐘) 1,使用httpclient提交數據到服務器 2,異步http框架實現原理 3,異步http框架提交數據到服務器
第18個動手案例:WIFI通信實戰(30分鐘) 1.WIFI通信特性剖析 2.WifiManager 、InputStream和OutputStream 3.WIFI應用開發實戰
|
|
第四天 |
第19個動手案例:Android中Java與WebView中Javascript相互溝通(60分鐘) 1.製做Android界面的新大陸 2.Java調用Javascript 3.Javascript調用Java
第20個動手案例:Android ndk編程(60分鐘) 1 本地C代碼調用Java中的Method 2本地C代碼得到Java對象的屬性值 3 多個類中有本地C代碼的調用 4 在本地代碼中建立Java對象 5深度剖析Java、Dalvik VM、C/C++的運行機制與流程 6 Java中分配線程調用C/C++函數 7 C/C++本地代碼經過分配線程調用Java函數
第21個動手案例:Android橫豎屏切換、應用國際化、軟件的編譯和反編譯(60分鐘) 1.Android橫豎屏切換的經典場景、生命週期和解決方案; 2.實戰構建多語言國際化的Android應用程序; 3.如何編譯APK來提升應用的安全性; 4.如何反編譯Android應用
第22個動手案例:Handler、Looper、Message、MessageQueue(60分鐘) 1. Android的事件驅動模型 2. Looper、MessageQueue、Hanlder、Message等源碼深度剖析 3. Looper、MessageQueue、Hanlder、Message及多線程實戰案例
第23個動手案例:AsyncTASK異步線程技術(60分鐘) 1. 使用AsyncTask的緣由及對AsyncTask的思考 2. AsyncTask代碼示例 3. AsyncTask源碼剖析
Android應用程序運行背後祕密---ActivityManagerService源碼剖析(150分鐘) 1 Android應用程序的main入口到底在哪裏? 2 ActivityThread成爲應用程序的主線程的過程是什麼? 3 Looper、MessageQueue、Handler背後的祕密; 4 Android的Activity、Service、Provider、Receiver啓動的流程源碼剖析 |