Android入門系列一(Android學習方法)

來源:互聯網
上載者:User

Android學習方法一:瞭解什麼是Android二: 建立開發環境三: 閱讀SDK文檔四: 背景知識     1、Java     2、物件導向     3、設計模式     4、J2ME、Brew、Symbian 先說說什麼是Android;1、Android是一種基於Linux的自由及開放原始碼的作業系統,主要使用於可攜式裝置,如智能手機和平板電腦。它包括一個作業系統,中介軟體和一些重要的應用程式。Beta版的Android SDK提供了在Android平台上使用Java語言進行Android應用開發必須的工具和API介面。2、特性• 應用程式架構支援組件的重用與替換• Dalvik D alvik 虛擬機器專為行動裝置最佳化• 整合的瀏覽器基於開源的WebKit引擎• 最佳化的圖形庫包括定製的2D圖形庫,3D圖形庫基於OpenGL ES 1.0(硬體加速可選)• SQLite SQLite SQLite用作結構化的資料存放區• 多媒體支援包括常見的音頻、視頻和靜態映像格式(如MPEG4, H.264, MP3, AAC,AMR, JPG, PNG,GIF)• GSM電話技術(依賴於硬體)• 藍芽Bluetooth, Bluetooth, Bluetooth, Bluetooth,EDGE, EDGE, EDGE, EDGE,3G, 3G,和WiFi WiFi WiFi W iFi (依賴於硬體)• 照相機,GPS,指南針,和加速度計(accelerometer accelerometer accelerometer)(依賴於硬體)• 豐富的開發環境包括裝置模擬器,調試工具,記憶體及效能分析圖表,和Eclipse整合式開發環境外掛程式。 3、應用程式Android會同一系列核心應用程式套件組合一起發布,該應用程式套件組合包括email用戶端,SMS短訊息程式,日曆,地圖,瀏覽器,連絡人管理程式等。所有的應用程式都是使用JAVA語言編寫的。4、應用程式架構開發人員也可以完全訪問核心應用程式所使用的API架構。該應用程式的架構設計簡化了組件的重用;任何一個應用程式都發行就緒它的功能塊並且任何其它的應用程式都可以使用其所發布的功能塊(不過得遵循架構的安全性限制)。同樣,該應用程式重用機制也使使用者可以方便的替換程式組件。隱藏在每個應用後面的是一系列的服務和系統, 其中包括;• 豐富而又可擴充的視圖(Views),可以用來構建應用程式,它包括列表(lists),網格(grids),文字框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。• 內容提供器(Content Providers)使得應用程式可以訪問另一個應用程式的資料(如連絡人資料庫),或者共用它們自己的資料• 資源管理員(Resource Manager)提供非代碼資源的訪問,如本地字串,圖形,和布局檔案(layoutfiles )。• 通知管理器 (Notification Manager)使得應用程式可以在狀態列中顯示自訂的提示資訊。• Active Manager(Activity Manager)用來管理應用程式生命週期並提供常用的導航回退功能。 5、程式庫Android包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過Android應用程式架構為開發人員提供服務。以下是一些核心庫:• 系統C庫- 一個從BSD繼承來的標準C系統函數庫(libc ), 它是專門為基於embedded linux的裝置定製的。• 媒體庫- 基於PacketVideo OpenCORE;該庫支援多種常用的音頻、視頻格式回放和錄製,同時支援靜態影像檔。編碼格式包括MPEG4, H.264,MP3,AAC,AMR, JPG, PNG。• Surface Surface SurfaceManager Manager M anager - 對顯示子系統的管理,並且為多個應用程式提 供了2D和3D圖層的無縫融合。• LibWebCore LibWebCore LibWebCore- 一個最新的web瀏覽器引擎用,支援Android瀏覽器和一個可嵌入的web視圖。• SGL- 底層的2D圖形引擎• 3Dlibraries libraries libraries- 基於OpenGL ES 1.0APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度最佳化的3D軟加速。• FreeType FreeType FreeType-位元影像(bitmap)和向量(vector)字型顯示。• SQLite SQLite SQLite- 一個對於所有應用程式可用,功能強勁的輕型關係型資料庫引擎。 6、Android 運行庫Android包括了一個核心庫,該核心庫提供了JAVA程式設計語言核心庫的大多數功能。每一個Android應用程式都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬 機執行個體。Dalvik被設計成一個裝置可以同時高效地運行多個虛擬系統。Dalvik虛擬機器執行(.dex)的Dalvik可執行檔,該格式檔案針對小記憶體使用量做了 最佳化。同時虛擬機器是基於寄存器的,所有的類都經由JAVA編譯器編譯,然後通過SDK中 的"dx" 工具轉化成.dex 格式由虛擬機器執行。Dalvik虛擬機器依賴於linux核心的一些功能,比如線程機制和底層記憶體管理機制。 7、Linux Linux Linux核心Android的核心系統服務依賴於Linux 2.6核心,如安全性,記憶體管理,進程管理,網路通訊協定棧和驅動模型。Linux核心也同時作為硬體和軟體棧之間的抽象層。 8、Android的系統架構8.1、Android核心  Linux核心版本2.6 位於硬體和軟體堆之間的抽象層 核心服務:安全機制、記憶體管理、進程管理、網路、硬體驅動。Android依賴Linux核心2.6提供核心服務,比如安全、記憶體管理、進程管理、網路、硬體驅動。在這裡,Linux核心扮演的是硬體層和系統其它層次之間的一個抽象層的概念。這個作業系統並非類GNU/Linux的,因為其系統庫,系統初始化和編程介面都和標準的Linux系統是有所不同的。從Google目前release的Linux系統來看,其沒有虛擬記憶體檔案系統,系統所用的是yaffs2檔案系統,具體的映像也都位於SDK安裝目錄下。通過emulator -console命令,我們可以在host中斷下得到一個簡單的可以控制Android的shell,這個系統包含了一個Toolbox,提供一些基本的命令工具,集中在/sbin,/system/sbin,/system/bin 中,但是很簡陋,命令種類也很少。 目前Android的程式安裝模式是靠Eclipse自動進行的,通過對底層的分析可知,大致步驟就是在/data/app和data/data下存放android底層和普通核心沒有什麼大的區別,我們可以將其作為一個Linux來進行開發和hacking。8.2、Lib和運行環境lib  C/C++庫:被各種Android組件使用  通過應用程式架構開發人員可以使用其功能  包括:  媒體庫:MPEG4 H.264 MP3 JPG PNG .....  WebKit/LibWebCore:Web瀏覽引擎  SQLite關聯式資料庫引擎  2D,3D圖形庫、引擎 豐富的類庫支援:2D和3D映像庫OpenGL ES、資料庫SQLite、對象資料庫db4o類庫、媒體庫、基於Linux底層系統C庫等等,讓應用開發更簡單多樣。Google使用Apache的Harmony類庫,Harmony某些方面速度快於Sun的VM。Runtime在Dalvik Java VM上,Dalvik採用簡練、高效的byte code格式運行,它能夠在低資耗和沒有應用相互幹擾的情況下並存執行多個應用。運行時環境   核心庫提供的Java功能  Dalvik虛擬機器依賴於Linux核心,例如線程或底層記憶體管理  裝置可以運行多個Dalvik虛擬機器,每一個Android應用程式在它自己的Dalvik VM執行個體中運行  VM執行最佳化的Dalvik可執行檔(.dex)  Dx-工具把編譯過的Java檔案轉換為dex檔案 8.3應用和架構  核心應用,例如連絡人,電子郵件,電話,瀏覽器,日曆,地圖,...  充分訪問所有核心應用程式框架API  簡化組件的重用  用Java編寫應用程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.