讀古今文學網 > Android程序設計:第2版 > 第3章 Android應用的主要組件 >

第3章 Android應用的主要組件

第2章已經講述了編寫健壯的Java代碼所需的基礎知識,本章將側重於介紹Android平台開發中的主要概念。

Android平台和傳統編程模型的對比

傳統編程中,操作系統啟動應用時使用單一入口點,通常是main函數,在這個函數中可能會首先解析用戶在命令行中提供的輸入參數,然後獲取輸入數據,在處理之後生成輸出數據。操作系統負責把程序的代碼加載到進程中,然後開始執行它。從概念上講,這個過程看起來如圖3-1所示。

圖3-1:在進程中運行的簡單應用

使用Java編寫程序,這個過程會變得稍微複雜一些:Java虛擬機(VM)負責將二進制代碼加載到內存中來實例化Java類。這個過程如圖3-2所示。如果使用的是富圖形化用戶界面系統,如Swing,則可能會啟動一個UI系統,在UI系統中通常需要編寫回調函數來響應各種操作事件。

圖3-2:一個運行在Java虛擬機上的一個進程中的Java應用

相比而言,Android則更進一步,它支持多個應用入口點,引入了更豐富的機制。在Android系統中假定的前提是,系統會在不同的地方啟動它們,這取決於用戶當前正在哪裡以及用戶接下來想做的是什麼。

除了位置上的分層,程序近似於一組組件之間的協作,它可能在應用的正常流之外啟動。例如,一個對條形碼進行掃瞄的組件提供了這個獨立的功能,很多應用可以把它組合到自己的UI流中。用戶不需要親自動手啟動每個應用,組件本身就能夠調用某個程序與用戶交互。