您好,登錄后才能下訂單哦!
[ back ]
Android軟硬整合技術:
HAL&Framework&App 架構設計與實戰開發
by 高煥堂
第1步: 自學在線微課:<Android的HAL驅動框架和API>
微課-1(請點擊此圖,立即體驗)
☆ 聽完了,可深入理解HAL的產生背景、角色、功能,及其代碼寫法和范例。
☆ 對于孰悉Linux和C/C++的工程師而言,了解HAL及其設計,是開發 Android產品的第一門課。基于Linux驅動開發的既有基礎經驗,透過分析HAL 的設計,建立基礎的Android框架知識。顧名思義,框架(Framework)就是基于既定架構的接口(API)來協助應用開發、并框住應用的行為。HAL框架也不例外,具有上述的角色和功用。
第2步: 自學在線微課:< 解析Linux驅動框架(初步) >
微課-2(請點擊此圖,立即體驗)
☆ 聽完了,可深入理解Android框架與Linux密切的關系,非常有助于HAL-based驅動開發工作。
☆ Android是基于Linux OS的智能終端平臺(platform),此平臺內含多層框架(framework),而框架又內含許多設計模式(patterns)。如果我們也能將設計模式和框架觀念,應用于Linux的驅動開發上。就能基于一致的概念來看待上層的Android軟件開發和底層的Linux驅動開發了,而達到一個完美的境界:概念一致性(conceptual integrity)。
第3步: 自學在線微課:< JNI開發初步 >
微課-3(請點擊此圖,立即體驗)
☆ 聽完了,可深入在Android架構里,Java與C/C++如何密切的結合在一起,非常有助于HAL-based驅動開發工作。
☆ 從框架(Framework)角度來看,Android平臺里含有兩層框架。上面是Java層的應用框架,而下面是C/C++層的系統框架。這兩層框架之間會有密切的溝通。此時JNI(Java Native Interface)就扮演雙方溝通的接口了。藉由JNI接口,可將Java層的基類或子類別的函數實作部份挖空,而移到JNI層的本地C函數來實作之。這個JNI本地(Native)的C函數,再銜接到底層的C/C++系統框架。
第4步: 自學在線微課:< Android的Java層系統服務與API >
微課-4(請點擊此圖,立即體驗)
☆ 聽完了,可深入理解Android系統的核心部分,包括其架構、API和開發要點。
☆ 為什么我們需要學習撰寫系統服務呢? 底層系統服務是Android 框架裡最接近Linux/Driver 的部分。為了充分發揮硬件設備的差異化特性,系統服務是讓上層Java 應用程序來使用Driver/HW Device 特色的重要管道。在開機過程中,就可以啟動核心服務(例如漢字輸入法服務等),讓眾多應用程序來共享之。由于共享,所以能有效降低 Java 應用程序的大小(Size)。于此,先仔細解析Java層系統服務的架構,然后闡述這系統服務的代碼開發要點,以及其API設計方法。
第5步: 自學在線微課:< App框架(Framework)初步 >
微課-5(請點擊此圖,立即體驗)
☆ 聽完了,可掌握框架(Framework)的基本知識和技術,對于深入理解Android系統的多層框架體系,是非常有幫助的。
☆ Android是基于Linux的多層框架(framework)體系,而框架又內含許多設計模式(patterns)。如果我們也能將設計模式和框架觀念,應用于Linux的驅動開發上。就能基于一致的概念來看待上層的Android軟件開發和底層的Linux驅動開發了,而達到一個完美的境界:概念一致性(conceptual integrity)。讓該領域中的程序員們,依共同結構來發展程序,使程序間具有一致性,增加了程序的清晰度,以降低程序的設計與維護費用。
第6步: 恭喜初階課程畢業了,
請繼續=> 學習高階課程
~ End ~
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。