Android應用程式結構

來源:互聯網
上載者:User

[選載]Google Android開發入門與實踐

 

本文介紹Android的體繫結構,Android應用程式的組成和Android應用的邏輯組成。

 

1. Android體繫結構

Android的軟體階層包括一個作業系統,中介軟體,應用程式。其軟體階層自上而下可分為:

  • 應用程式
  • 應用程式架構
  • 各種庫和Android的運行時環境
  • 作業系統層

應用程式:以java語言編寫,設計使用者介面互動設計。Android本身提供了案頭,連絡人,電話,瀏覽器等很多核心的應用。

 

應用程式架構:為應用程式提供系統的API。通過Android的應用程式架構,開發人員可重用各種組件和服務。應用程式的架構組成部分:

  • UI組件:包括列表,文字框,按鈕等UI組件,是使用者可視的部分。
  • Content Providers:提供了一種應用程式程式可實現資料的訪問和共用的機制。
  • Notification Manager:能讓應用程式將自己的警告資訊顯示在狀態列上,如顯示收到新簡訊,提示電池資訊。
  • Activity Manager:管理應用程式的生命週期,並提供應用程式頁面退出的機制。

 

Android庫和運行時環境

Android包含一些核心的C/C++庫,這些庫能通過JNI技術供系統的各種組件使用。

這些庫包括:

  • 系統C庫:從BSD繼承來的標準C庫。
  • 媒體庫:包括多種常用的音頻,視頻格式回放和錄製。同時支援靜態影像檔,支援MPEG4,MP3,AAC,JPG,PNG,H.264,AMR等多種編碼格式。
  • Surface Manager:管理顯示子系統,並為多個應用程式提供2D和3D的無縫融合。
  • LibWebCore:瀏覽器引擎。
  • SGL:底層的2D圖形引擎。
  • 3D librarie:提供3D加速。
  • FreeType:提供位位元影像和向量的字型顯示。
  • SQLite:資料庫應用。

Android包含了一個核心庫,該核心庫提供了java語言核心庫的大多數功能。

每一個Android應用程式都在自己的進程空間內運行,都擁有一個獨立的dalvik虛擬機器實現。Dalvik被設計成一個裝置,可同時高效的運行多個虛擬系統。dalvik虛擬機器依賴於linux核心的一些功能,如線程調度,記憶體管理。

 

2. Android應用程式組成

Android程式包括以下四部分:

  • Activity
  • Broadcast Intent Receiver
  • Server
  • Content Provider

Activity,一般代表手機螢幕的一屏,相當於瀏覽器的一個頁面。在Activity中添加view,實現應用介面和使用者互動。一個應用程式一般由多個Activity構成,這些Activity之間可互相跳轉,可進行頁面間的資料傳遞。每個Activity都有自己的生命週期。

Intent Receiver,Intent是一次對將要執行的操作的抽象描述。通過Intent,可實現Activity與Activity之間的跳轉。Intent最重要的組成部分是Intent的動作(Action)和動作對應的資料(data)。與Intent相關的一個類叫Intent Filters。它用來描述Intent能夠用來處理哪些操作。

Broadcast Intent Receiver,用於響應外來事件。BroadcastReceiver不能產生UI,所以對使用者來說是不可見的。

Service,運行在背景應用程式。

Content Provider:一個Content Provider提供了一組標準的介面,從而能夠讓應用程式儲存或讀取Content Provider的各種資料類型。一個應用程式可通過它將自己的資料暴露出去。對於外界的應用程式來說,它不需要關心這些資料的儲存方式,儲存地方,只需要通過Content Provide提供的r介面訪問這些資料即可。當然這涉及到資料訪問的許可權問題。

 

3. Android工程檔案組成

Android的開發使用eclipse+ADT。

工程檔案包括:

  • 源檔案:使用java語言編寫的代碼,包括各種Activity的實現。
  • R.java:由eclipse自動產生,包含了應用程式所使用到的資源ID。
  • Android library:Android庫檔案。
  • assets:放置多媒體檔案等。
  • res:應用程式所需的資源檔,標,動畫,顏色等。
    • drawable:圖片資源
    • layout:描述了Activity的布局。
    • values:定義字串,顏色等
  • Android Manifest.xml:應用程式的設定檔。在該檔案中聲明應用程式的名稱,使用到的Activity,Service,Receive,許可權等。

 

聯繫我們

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