Download presentation
Presentation is loading. Please wait.
1
Ch5 Android應用程式的主要組成
2
一、Android應用程式的主要功能元件
活動(Activity) 服務(Service) 廣播接收者(Broadcast Receiver) 內容提供者(Content Provider)
3
活動(Activity) 「活動」是Android中最重要的元件,它定義了一個使用者介面,讓使用者可以經由此介面與應用程式互動;它也是一個執行單元,當我們建立Android應用程式的時候,就是從Activity的延伸類別(或稱子類別)開始。 基本上,每一個活動都是Activity各自獨立的子類別,代表著應用程式的一個不同畫面。當顯示應用程式的另一個畫面或操作其他應用程式畫面時,目前執行的活動將進入暫停狀態並移到背景等待。 雖然Android裝置可以同時執行多個應用程式,亦即可以同時啟動多個活動,但只能有一個活動能和使用者互動。
4
服務(Service) 服務是不需要顯示畫面的應用程式,可以長時間在背景執行,而不會被系統回收資源,因此一啟動後將持續執行,除非使用者停止。
5
廣播接收者(Broadcast Receiver)
廣播接收者」的唯一目的是接收訊息,它可以接收來自Android作業系統、其他應用程式、或自己程式內所傳播的訊息。
6
內容提供者(Content Provider)
「內容提供者」的功能有些類似資料管理員,因為Android應用程式是各自執行在自己的虛擬機及處理程序內,這表示它們之間的資料一般是無法共用的;如果有共用的需求,就必須透過內容提供者所提供的方法。
7
二、意圖(Intent) 「意圖」的作用是在元件之間傳遞訊息,一般是用以啟動其他元件(內容提供者除外),或是傳送新的任務給其它元件。
在Intent的描述中,主要是意圖的行動(action)與行動所對應的資料。 行動類型常用的有MAIN(程式入口)、VIEW、EDIT、PICK、CALL、DIAL等。 資料則是用URL表示。
8
三、Android應用程式組態檔(AndroidManifest.xml)
每一個Android應用程式在專案資料夾一定要有它的組態檔,它清楚的描述了程式該有的功能、處理什麼類型的資料以及什麼時候執行這些動作、在Android作業環境中需要使用那些資源的許可等,這些資訊都以各自的XML標籤定義在組態檔中。 AndroidManifest.xml檔案內容,依作用分為不同層級,各層級以「android:屬性名稱=”值”」定義此標籤的相關屬性,其基本架構如下:
9
<manifest> :最外層是<manifest>,此標籤主要定義Android命名空間與套件名稱,並用「android:versionCode」與「android:versionName」2個屬性,定義此應用程式的版本與版本編號。 <application> :第2層<application>主要是宣告應用程式整體性質與功能。 <activity> :用「android:name」定義此活動類別的名稱,用「android:label」定義此活動出現在裝置螢幕上時顯示在螢幕頂端的標題;活動標籤內可以有<intent-filter>與<meta-data>2個子層。 <intent-filter> :用以宣告這個活動執行的時機,它又含有以下2層: < action> :定義將要執行此意圖的動作。 <category> :為意圖分類。
10
<uses-permission>or<permission> :用以設定應用程式使用裝置特殊功能的權限。
<meta-data> : 以「名稱-值」配對形成的資料,用以提供上層元件使用。 < service > :宣告此應用程式支援的服務。 < receiver> :宣告此應用程式支援的廣播接收者。 <provider> :宣告內容提供者。 <uses-permission>or<permission> :用以設定應用程式使用裝置特殊功能的權限。 <instrumentation> :用以宣告一個Instrumentation類別,監視應用程式與系統之間的互動。 <user-sdk> :用以定義此應用程式相容的Android SDK版本範圍。
11
Uses-permission 範例
12
Manifest 編輯主畫面
13
Application 編輯畫面
14
Permission編輯畫面
15
Instrumentation編輯畫面
16
四、資源檔 Android應用程式內需要用到的資源存於不同資料夾的資源檔中,這些檔案皆屬於XML文件格式,需由開發者自行編輯產生,然後在編譯應用程式的時候,會自動透過「R.java資源索引」引入Java程式中,最後再封裝到apk套件內。 資源檔編輯 對所有的資源而言,其中以「\res\values\」目錄內的資源最為常用。
17
除了陣列與主題風格資源以外,其它資源文件檔的語法都類似,如下所示:
字串(strings.xml)、陣列(arrays.xml)、尺寸(dimens.xml)、顏色(colors.xml)、主題風格(styles.xml)等資源的XML文件檔都存在此目錄中。 除了陣列與主題風格資源以外,其它資源文件檔的語法都類似,如下所示: <?xml version="1.0" encoding="utf-8"?> <resources> <資源型式 名稱=”變數名稱”>變數值</資源型式> ….. </resources>
18
陣列資源的語法為: <?xml version="1.0" encoding="utf-8"?>
<resources> <資源型式 名稱=”變數名稱”> <item>值</item> ….. </資源型式> </resources>
19
主題風格資源語法為: <?xml version="1.0" encoding="utf-8"?>
<resources> <style 名稱=”變數名稱” [parent=”基礎主題風格”> <item name=”細項名稱”>值</item> ….. </style> </resources>
20
Layout 編輯畫面
21
Menu編輯畫面
22
Dimens 編輯畫面
23
Strings 編輯畫面
24
資源檔引用 在ADT產生的R.java檔案內定義了「R類別」,這個類別為每一個資源檔案指定了一個唯一的識別碼,編譯應用程式的時候,Java程式就是以此識別碼引入正確的資源內容。 當需要取得資源的時候只要透過R類別直接引用即可,引用資源的格式為:R.資源型式.資源名稱
25
r.java
Similar presentations