1. 程式人生 > >Android應用程式概述

Android應用程式概述

一.    android應用程式開發方式

        Android應用程式可以基於兩種方式開發:Android SDK和Android 原始碼

二、  Android應用程式概念性描述

1.     Android應用程式包含了工程檔案、程式碼和各種資源,主要有Java編寫,每一個應用程式被編譯成Android的一個Java應用程式包,

        即*.apk檔案.

2.     Android基於Linux,故Android應用程式運行於Linux環境中,具有以下特點:

        × 預設情況下,每個應用程式運行於它們的Linux程序中;

        × 每個程序具有自己的虛擬機器,故每個應用程式運行於獨立的環境中;

        × 預設情況下,每個應用程式具有唯一的Linux使用者ID。通過設定許可權讓應用程式只對使用者和應用程式本身可見,也有一些方法可以

           把它們暴露給其他應用程式.

3.     應用程式的組成部分:一個應用程式是一個package,包中可能包含一個或者多個Android元件(component)

        × Activity

        × Broadcast  Receiver

        × Service

        × Content  Provider

        Activity是最基本的應用程式元件。一個活動通常就是一個單獨的使用者介面。每一個活動被實現為一個獨立的類,並且從活動基類中

        繼承而來,活動類將會顯示由檢視(View)控制元件組成的使用者介面,並對事件作出響應。大多數應用程式都會有多個使用者介面,因此

        便會有多個相應的活動。

        Android的一個活動一般對應介面中的一個螢幕顯示,可以理解成一個介面,每一個活動在介面上可以包含按鈕、文字框等多種可視

        的UI元素。

        廣播接收器用於讓應用程式對一個外部事件作出響應。如電話呼入事件、資料網路可用通知或者到了晚上時進行通知。

        一個服務是一個具有一段較長生命週期但沒有使用者介面的程式。例如,一個正在從播放列表中播放歌曲的媒體播放器在後臺執行。

        內容提供者:應用程式能夠將它們的資料儲存到檔案或SQLite資料庫中,甚至是任何有效的裝置中。當需要將資料與其他的應用程式

                          共享時,內容提供者將會很有用。一個內容提供者實現了一組標準的方法,從而能夠讓其他應用程式儲存或讀取此內容

                          提供者處理的各種資料型別。

4.     應用程式的生命週期

        Android程序的型別包括:(重要性依次降低)

        × 前臺(foreground)程序

        × 可見(visible)程序

        × 服務程序

        × 後臺程序

        × 空程序

        活動的生命週期:

        執行活動的情景:當一個活動被啟動時,活動中的onCreate()、onStart()、onResume()3個方法依次被呼叫,活動對應的介面

                                出現在螢幕上。

        活動被“覆蓋”的情景:Android的活動一般都佔據一個完整的螢幕,從當前活動啟動另外一個活動時,另一個活動將被啟動到前臺,

                                      當前活動轉入後臺,這時活動的onPause()方法被呼叫,活動轉入後臺執行。如果活動變為不可見,還將調

                                      用onStop()方法。

        活動被恢復的情景:當介面上最前面的活動推出後,它所覆蓋的活動將被恢復,這時onResume()方法被呼叫,活動重新轉入前臺

                                   執行。

        活動完全推出的情景:當使用回退(Back)按鈕退出活動時,onDestroy()方法將被呼叫,活動關閉。如果系統缺少記憶體,也會殺死

                                      後臺的活動,其中優先殺死不可及的活動,可見活動一般不會被殺死。

        服務的生命週期:

        使用startService執行服務的情景:使用這種方法啟動服務,服務的onCreate()和onStart()這兩個方法將被呼叫,服務會在後臺

                                                         執行直到退出,推出時將呼叫onDestroy()方法。

        使用bindService執行服務的情景:使用這種方法啟動服務,呼叫者(即服務的客戶端)將獲得和服務互動的類,通過其呼叫時服務

                                                        的相關內容會處於活動狀態。

        廣播接收器的生命週期:

        廣播接收器有一個單一的回撥方法onReceive(),當廣播訊息到達接收器時,Android將呼叫這個方法,並傳遞給包含在這個訊息中

        的Intent物件。

        廣播接收器只有在這個方法的執行過程中才處於活動狀態,當onReceive()返回後,廣播接收器將不再處於活動狀態。

        即,廣播接收器類似於一個回撥函式,只是單次執行時處於活動狀態。