王家林 培訓 Android HTML5 雲端運算實戰 Hadoop —-王家林設計的Andriod平台開發最佳實務課程

來源:互聯網
上載者:User
王家林:致力於軟硬雲整合,通曉Android、HTML5、Hadoop      Tel:     18610086859      Email: jialingege@126.com       hiheartfirst@gmail.com

 

 

 

家林的話:

在多年的Android(6款硬體產品和超過20款應用軟體)及HTML5系列技術的實戰背景下制定本課程,課程全程以過去工作的案例為核心,掌握本課程後至少能夠輕鬆編寫完成諸如UC迅雷、優酷和KU6等的Android視頻用戶端、趕集網的移動用戶端等並對HTML5有本質性的認識,最後以ActivityManagerService的源碼剖析為核心,徹底剖析Android程式運行背後的機制,深刻體悟Android架構的設計哲學和實現機制,旨在協助貴公司完成任意負責程度的Android程式開發並從務實實戰的角度協助Android工程師升級到Android架構師。

課程目標:

1,  通曉Android的架構哲學和力量來源以及實現技術;

2,  能夠開發出任意類型、任意複雜程度的應用程式;

3,  能夠使用NDK技術編程;

4,  實戰Android測試技術;

5,  對HTML5有根本性的理解

6,  以ActivityManagerService的源碼剖析為核心,徹底剖析Android程式運行背後的機制,深刻體悟Android架構的設計哲學和實現機制

課程要點:

1,  揭秘Android;

2,  精通四大組件;

3,  精通Android進階介面編程;

4,  精通Android網路編程;

5,  熟練NDK編程;

6,  實戰Android測試技術;

7,  洞悉HTML5;

8,  以ActivityManagerService的源碼剖析為核心,徹底剖析Android程式運行背後的機制,深刻體悟Android架構的設計哲學和實現機制

課程要求:

具備一定的Java基礎

瞭解設計模式更佳

時間

內容

需求

第一天

1.1Android的哲學思考(10分鐘)

1. 造型簡單、內涵豐富、無限重複

2. Android的勝利者

3. Android核心力量源泉

4. Android的IOC容器、解耦

5.Android和iOS的核心區別

1.2Android架構分析(20分鐘)

1. Android架構

2. Android設計模式

3. 深入Android的IOC

4.架構的重大意義

5.Android的硬體架構HAL

6.Android各主要版本區別(2.3,3.0, 4.0)

7. 5.Android和iOS的共同點

 

1.3Dalvik VM 20分鐘)

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開發環境搭建和HelloWorld60分鐘)

1. Java、Eclipse、SDK、NDK、ADT

2. 搭建環境過程中的疑難問題

3.徹底解決沒有3G訊號的問題

4.開發HelloWorld

5.徹底剖析第一個程式

6.Android應用程式開發的傳統模式---MVC模式徹底剖析

7.總結:掌握一個完整的應用程式的開發步驟、注意事項、方法等

 

1.5Android發簡訊、發多媒體訊息、打電話(30分鐘)

1.發簡訊案例

2.發多媒體訊息案例

3,打電話案例

4,總結和思考之一:Android應用程式的設計理念

5,總結和思考之二:Android應用程式的生命週期

1.6Activity生命週期剖析、應用程式生命週期剖析(30分鐘)

1.Activity生命週期循環圖表分析

2.Activity生命週期測試代碼

3.Activity嵌套生命週期

4.應用程式生命週期剖析

5.對Android管理應用程式和Activity方式的思考

 

1.7不同Activity之間的調用和資料轉送,關於隱式Intent精彩絕倫剖析,關於setType的問題已經解決方案顯示Intent和隱式Intent使用情境分析(30分鐘)

1.startActivity,startActivityForResult,requestCode,resultCode,finish,onActivityResult的徹底剖析

2.關於隱式Intent剖析:動作(Action)、類別(category)、資料data(Uri(Schema,Host,Path)和資料類型(MimeType))

3.setType()帶來的困擾以及最佳解決方案

4.顯示Intent和隱式Intent使用情境、使用意義、利弊。

5.對Android中鼓勵解耦的實現方式的思考

1.8 HandlerLooperMessageMessageQueue60分鐘)

1. Android的事件驅動模型

2. Looper、MessageQueue、Hanlder、Message等源碼深度剖析

3. Looper、MessageQueue、Hanlder、Message及多線程實戰案例

1.9 AsyncTASK非同步線程技術(30分鐘)

1. 使用AsyncTask的原因及對AsyncTask的思考

2. AsyncTask程式碼範例

3. AsyncTask源碼剖析

4. 非同步線程調用的應用情境及注意事項

 

2.0Android調試(5分鐘)

1.調試的重要價值

2. 調試實戰

2.1 Android基本UI設計與開發技巧(30分鐘)

1. UI設計理念與開發技巧

2. 菜單實戰;

3,Google Map、WebView、Gallery、Spinner、Tab Layout、Grid View、Table layout、Relative layout、Linear layout實戰;

 

2.2 ListView非同步載入技術(30分鐘)

1. 使用ListView非同步載入技術的必要性

2. ListView非同步載入技術編程實戰

2.3 ListView分頁載入技術(30分鐘)

1. 使用ListView分頁載入技術的必要性

2. ListView分頁載入技術編程實戰

2.4 Widget編程實戰(30分鐘)

1. Widget應用情境

2. Widget編程實戰

2.5自訂TabHost30分鐘)

1. Tabhost的應用情境

2. 自訂TabHost編程實戰

3. TabHost源碼剖析

2.6自訂標題列(30分鐘)

1. 自訂標題列的應用情境

2. 自訂標題列編程實戰

3.自訂標題列疑難問題解析

2.7 PopupWindow30分鐘)

1. PopupWindow為Android程式帶來的視覺衝擊

2. PopupWindow編程實戰

3. PopupWindow調試

 

2.8效能測試和最佳化(30分鐘)

1. 如何進行效能測試

2. 效能測試實戰

3. 最佳化法則和編碼應該注意的地方

 

 

第二天

1.1圖片拖拉功能30分鐘)
1  圖片拖拉功能應用情境
2  圖片拖拉功能編程實戰

1.2多點觸摸與縮放功能30分鐘)
1  多點觸摸與縮放功能應用情境
2  多點觸摸與縮放功能編程實戰

1.3 ANDROID中圖形編程實戰(60分鐘)
1  使用LAYER LIST製作動態相框
2  使用STATELIST實現不同狀態片的切換
3  使用LEVEL LIST揭秘電池電量變換狀態
4  使用TRANSITION DRAWABLE實現動態過渡效果
5  使用CLIP DRAWABLE揭秘水平進度條
6  使用SHAPE DRAWABLE自訂幾何圖形

 

1.4廣播接受者BroadcastReceiver,簡訊監聽器案例(接受到簡訊後上傳到伺服器或發送到指定的號碼或者發送到指定的郵件中)(50分鐘)

1.剖析廣播接收者,與JMS的比較,廣播接受者的IoC原理

2.簡訊監聽Android用戶端

3.伺服器端搭建

4.通過網路把接收到的簡訊上傳到伺服器

5.把接收到的簡訊發送到指定的手機號碼或者郵件中

6.BroadcastReceiver的的生命週期和注意事項以及5秒鐘生命回應時間的解決方案

 

1.5服務Service,電話監聽器(每次開機的時候自動開機,電話來時錄音並上傳到伺服器)(50分鐘)

1.詳細剖析Service

2.構建電話監聽的Service

3.使用BroadcastReceiver監聽開機事件,並在開機時啟動電話監聽的Service

4.上傳音頻檔案到伺服器

5.關於Android安全體系的思考

1.6 SharedPreferences的讀寫、SharedPreferences操作許可權、從不同的包中讀取參數及原始碼剖析10分鐘)

1.SharedPreferences的讀

2.SharedPreferences的寫

3.對SharedPreference操作許可權分析

4.讀寫不同包中的SharedPreference

5.原始碼剖析

1.7單元測試、日誌、手機內部檔案的形式儲存資料及原始碼剖析10分鐘)

1.單元測試

2.日誌

3.對手機的檔案進行讀寫:openFileInput()、openFileOutput()

4.對檔案讀寫的單元測試

5.對四種檔案許可權模式的測試

6.常用的檔案讀寫API簡介

7.剖析原始碼

 

1.8 SDCard讀寫、代碼重構、原始碼剖析

1.構建業務層10分鐘)

2.對業務層的單元測試

3.使用Activity調用業務層對SDCard進行讀寫

4.提取出協助類,嚴格遵循MVC模式對代碼進行重構。

5.原始碼剖析

 

1.9 SQLite管理工具類、CRUD操作、分頁等及原始碼剖析(30分鐘)

1.SQLite簡介

2.SQLiteOpenHelper類

3.CURD:execSQL()和rawQuery()

4.分頁

5.對getWritableDatabase()和getReadableDatabase()進行原始碼分析,剖析其原理

6.執行流程和原理的深入徹底的剖析

7.原始碼剖析

 

2.0使用Android自身提供的API進行CRUD操作、ListView的詳細講解及原始碼剖析(10分鐘)

1.使用Android內建的insert、update、query、delete等進行CRUD操作

2.剖析insert、update、query、delete的原始碼

3.對ListView深入詳細的剖析,自訂視圖,自訂Adapter。

4.剖析Cursor的原始碼

5.關於SQLite和Cursor的“_id”問題的剖析和解決方案

7.原始碼剖析

 

2.1 ContentProvider背景、用途,如何構建ContentProviderUriMatcherContentUris,對CotentProvider進行單元測試、原始碼分析(60分鐘)

1.ContentProvider背景、用途

2.構建ContentProvider的詳細步驟

3.對URI的徹底剖析

4.分析UriMatcher,ContentUris

5.對ContentProvider的業務層代碼進行單元測試

6.ContentProvider的原始碼剖析

2.2基於通訊錄的開發30分鐘)

1.
通訊錄的資料庫和資料表分析

2.
通訊錄ContentProvider的源碼剖析

3.
擷取所有的連絡人資訊

4.新增連絡人...

5.如何處理添加通訊錄記錄時的事物問題

 

 

第三天

1.1深入Android測試,涵蓋ActivityServiceContentProvider的測試等(150分鐘)

1.Assertion

        定製訊息

        靜態匯入

2. 深入Assertion

3.
TouchUtils類

4.
Mock對象

        MockContext概述

        IsolatedContext類

        對檔案和資料庫的測試操作

        MockContentResolver類

5.基類TestCase

        沒有參數的構造方法

        傳遞參數的構造方法

        setName()方法

6.基類AndroidTestCase

        assertActivityRequiresPermission()方法剖析和實戰

        assertReadingContentUriRequiresPermission()

 

方法剖析和實戰

        assertWritingContentUriRequiresPermission()

 

方法剖析和實戰

7.
Instrumentation

        ActivityMonitor內部類剖析和實戰

8.
InstrumentationTestCase類

        launchActivity和launchActivityWithIntent方

 

        sendKeys和sendRepeatedKeys方法

        runTestOnUiThread協助方法

9.
ActivityTestCase類

        scrubClass方法

10.
ActivityInstrumentationTestCase2類

        構造方法

        setUp方法

        tearDown方法

        testPreconditions方法

11.
ProviderTestCase2<T>類

        構造方法

        實戰

12.
ServiceTestCase<T>

        構造方法

13.
TestSuiteBuilder.FailedToCreateTests類剖析

14. 在測試工程中使用external libraries

 

1.2斷點續傳(一)類似迅雷的多線程下載器(適用於任何類型的檔案下載)90分鐘)

1,多線程下載斷點續傳原理和流程圖

2,下載檔案時Http協議協議詳解

3,多線程下載斷點續傳程式:設計服務端和Android端

4,Android端的內容涉及IoC、多線程、SQLite資料庫、Handler、Http協議、緩衝處理、意外關機時候的處理、編寫架構、MVC、Service、Android中的I/O流、代碼調試、Activity的生命週期等

5,單元測試

6,軟體調試

 

1.3斷點續傳(二)多線程斷點檔案上傳器(適用於任何類型的檔案上傳)30分鐘)

1,斷點續傳原理和流程圖

2,上傳檔案的Http協議詳解

3,自訂自己的檔案傳輸通訊協定

4,服務端程式的編寫:檔案的下載與即時資料的記錄、監聽模式、亂碼問題的處理、並發問題、駭客安全問題

5,用戶端程式的編寫:Android記憶體溢出問題,Android中的Socket編程、大檔案的傳輸、大檔案傳輸時候的安全問題

6,單元測試

7,軟體調試

1.4 Android用戶端表單資料的上傳60分鐘)

    1,上傳基本的資料類型

2,
上傳圖片等附件

3,
把代碼重構為能夠上傳任意數量的欄位和任意數量的附件的工具類

4,
4,思考本地離線儲存/線上上傳的技術方案

 

 

第四天

1.1 Android中Java與WebView中Javascript相互溝通30分鐘)

    1,製作Android介面的新大陸

2,
Java調用Javascript

3,
Javascript調用Java

 

1.2: Android ndk中C通過JNI調用Java(60分鐘)

1 本地C代碼調用Java中的Method

2本地C代碼獲得Java對象的屬性值

3 多個類中有本地C代碼的調用

4 在本地代碼中建立Java對象

5 處理異常

 

1.3:ANDROID NDK中Java與C++溝通(30分鐘)

1 Java代碼調用C++代碼

2 C++代碼調用Java代碼

 

1.4:NDK中的多線程編程(30分鐘)

1 深度剖析Java、Dalvik VM、C/C++的運行機制與流程

2 Java中分配線程調用C/C++函數

3 C/C++本地代碼通過分配線程調用Java函數

   

1.5:Android手機功能開發20分鐘)


應用程式控制硬體的起點:getSystemService函數剖析;


一些手機硬體功能開發、Android底層方法的調用等

 

1.6瀏覽器開發和自訂10分鐘)

1 瀏覽器定製和開發的核心原理剖析

2 瀏覽器定製和開發的技術手段剖析

3 瀏覽器定製和開發實戰

 

1.7
HTML5
時代:Device、Browser、Cloud10分鐘)

1  HTML5時代誰最重要?

2  HTML5與Device

3  HTML5與Cloud

4  什麼主導了HTML5時代?

 

1.8 Android應用程式運行背後秘密---WindowManagerService源碼剖析150分鐘)


Android應用程式的main入口到底在哪裡?

2 ActivityThread成為應用程式的主線程的過程是什嗎?

3 Looper、MessageQueue、Handler背後的秘密;

4 Android的Activity、Service、Provider、Receiver啟動的流程源碼剖析

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.