Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具.

Similar presentations


Presentation on theme: "Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具."— Presentation transcript:

1

2 Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具

3 套件 JAVA 開發工具包 (Java Development Kit, JDK) http://www.oracle.com/technetwor k/java/javase/downloads/index.htm l Eclipse 整合開發環境 (Integrated Development Environment, IDE) http://www.eclipse.org/downloads/ Eclipse 專用之 Android 開發工具外掛 (ADT Plugin for Eclipse ) https://dl- ssl.google.com/android/eclipse/ Android 軟體開發工具包 (Software Development Kit, SDK) http://developer.android.com/sdk/i ndex.html

4 Android 模擬器 (AVD) Android 軟體開發工具包 ( SDK) Eclipse 專用之 Android 開發工具外掛 (ADT) Eclipse 整合開發環境 (IDE) JAVA 開發工具包 (JDK)

5  Eclipse 是一個開發平台,要在 Eclipse 中撰寫任 何一種程式語言,必須依靠外掛套件。  Eclipse 利用 Android 開發工具外掛 (ADT Plugin for Eclipse ) 將 Android SDK 整合至 Eclipse 整合 環境中。

6

7

8 Application name :此指的是 Android 手機應用程 式的標題名稱,當手機用戶執行 Android 手機應用 程式時,它會顯示在畫面的最上方。當手機用戶 關閉 Android 手機應用程式後,它會顯示在該 Android 手機應用程式桌面圖示的下方。 Project name : Project name 指的是專案的名稱。 這個名稱同時也會成為該專案的檔案資料夾名稱。 在此要注意的是,請您務必以英文命名,名稱中 不要有空格或其它符號,但可以包括英文大小寫。 比如 ”HelloMyAndroid” 。 Package name :此指的是 Android 手機應用程式 的套件名稱。如果您先前有過 Java 應用程式開發 的經驗,對此應該不陌生。 Java 為了讓應用程式 之間彼此不衝突,因此,設置了套件名稱的機制。 每一個 Java 應用程式都需要取一個獨特且唯一的 套件名稱,以方便識別與呼叫取用。 Android 手機應用程式在此的命名規則與其它 Java 應用程式的 Package name 一致。亦即您只能使用 小寫英文字母命名,並且至少要以兩個英文單字 組成,每個英文單字之間以. 做為間隔。這個以 專業術語來說,就是該名稱要為域名格式 (domain-style) 。

9

10

11

12

13

14

15

16  每一個 Android 手機應用程式專案的最上層目錄 基本上包括了 src 、 gen 、 Android API 、 assets 與 res 五個子目錄,以及 AndroidManinfest.xml 、 default.properties 兩個檔案

17 專案名稱 src 存放所有 java 程式原 始碼 gen 存放所有自動產生的 檔案,最重要為 R.java Android 版本 列出 Android SDK 可 用類別 assets 存放不產生索引的外 部資源 resdrawable 存放圖片、圖示檔案 資源 layout 存放介面設定的 xml 檔 values 存放參數設定的 xml 檔

18  src 目錄是存放著您所撰寫的所有 Java 原始程式 碼檔案。當然也包括了動作程序 (Activity) 的 Java 原始程式碼檔案 ( 如下圖紅框處所示 ) 。

19  gen 目錄裡頭則存放著一些由 Android 開發工具 (ADT) 所自動產生的檔案。包括先前已說過的 R.java 等檔案 ( 如下圖紅框處所示 ) 。

20  R.java 檔案主要是負責 res 目錄下的資源檔案索引工 作。  每當開發者在 res 目錄增加一個資源檔案時,在 R.java 檔案當中就會相對地自動配置一個索引代號 給它,以便開發者得以在應用程式當中做呼叫的動 作。  R.java 中自動產生的 「 R 」 類別就像是個字典一 樣,包含了使用者介面、圖像、字串等各式的資源 與相應的編號 (id) 。 Android 應用程式中很多時候 會需要透過 R 類別調用資源。 編譯時編譯器也會 查看這個資源列表,沒有使用到的資源就不會編譯 進去,為手機應用程式節省不必要佔用的空間。

21  更進一步地說, R.java 檔案裡頭含有名稱為 R 的 Java 類別 (Class) ,因此,您可以在程式碼當中 運用這個類別所定義的相關資源進行開發工作。  這些相關資源包括了字串變數 (String) 、畫面配 置 (layout) 、圖片檔案 (drawable) 等 … 。  在此要特別注意的是,由於 R.java 檔案只能由 Android 開發工具 (ADT) 自動變更,請您切記不 要去自行變動該程式碼。

22  Android API 目錄裡頭的所有類別是源自 Android SDK 檔案資料夾當中的 android.jar 檔案。 當您在建立新的 Android 手機應用程式專案時, 會設定 Build Target 的 Android API 版本,此動作 便是直接對應至 Android API 中。

23  在 Android 手機應用程式專案中有兩個目錄,是 提供給開發者存放資源檔案之用 ( 如圖片檔、音 樂檔或者影片檔等 …) 。一是 assets 目錄、二為 res 目錄。相對於 res 目錄來說, Android 開發工 具 (ADT) 並不會為 assets 目錄裡頭的檔案在 R.java 當中產生一個索引代號,而是開發者必 須在程式碼當中指定 Assets 目錄的檔案路徑與 檔案名稱。  必須直接使用完整的路徑及檔案名稱。

24  相對於 assets 目錄來說, Android 開發工具 (ADT) 會為 res 目錄裡頭的檔案在 R.java 當中產 生一個索引代號,開發者可以直接透過 R 類別 來使用裡頭的檔案。  另外, res 目錄初始不是空的,它會存放 Android 開發工具 (ADT) 自動產生的圖示檔案 (icon files) 、畫面配置 XML 檔案 (layout XML files) 以及字串變數 XML 檔案 (String XML File) 。  也能直接通過 Java 來建立使用者介面,不過 透過 XML 描述檔來建立使用者介面相對更簡單, 架構也更清晰,以後維護時更容易釐清問題。

25  特別是圖示檔案的部份, Android 開發工具 (ADT) 還會自動產生高、中、低解析度 (dpi) 的 圖示,以供不同的手機環境使用。  將繪好的 mdpi 圖形,丟進 drawable - mdpi , 如果程式發現現在使用的手機,是 ldpi 或 hdpi 時,系統會自動去換算放大或縮小,也不會讓 原本設計給 mdpi 的圖片尺寸,在 hdpi 或 ldpi 中 跑版。 res 檔案資料夾裡頭的畫面配置 XML 檔案 res 檔案資料夾裡頭的字串變數 XML 檔案

26  AndroidManifest.xml 是 Android 手機應用程式 專案裡頭必備的檔案之一。  該檔案主要記載了應用程式專案的套件名稱 (Package name) 、專案版本代號、專案的應用 程式組件資料 ( 含 Activities 、 Services 、 Broadcast receivers 以及 content providers) 、 應用程式權限資料以及其它與應用程式相關的 屬性資料。

27  你可以在此指定你的應用程式會使用到的服務 ( 諸如電話功能、網路功能、 GPS 功能等 ) 。  上述這些資料都是 Android 手機應用程式專案之 中最重要的基本資訊。  因此, AndroidManifest.xml 雖然不是主要程式 碼,但每一個 Android 手機應用程式專案都不能 沒有它。

28  default.properties 是 Andorid 開發工具 (ADT) 自 動產生的檔案,它和 R.java 檔案一樣都不允許 開發者自行變更。  此檔案主要是記載著 Android 手機應用程式專案 所使用的 Android API 版本。

29  Android 系統將資源分為索引資源 (res) 與非索引 資源 (assets) 。  對於較常用的資源就對其建立一個索引值,索 引值是一個整數。  如此在要使用該資源時,只要取用對應的資源 索引即可。  資源索引不但在取用的語法上較為方便,也可 節省記憶體。  因為重複使用資源時,在記憶體只有儲存一份, 也可提升效率。

30  在 xml 檔案中取用的語法為:  @ 類別名稱 / 欄位名稱  如在 檔中要使用 檔圖 片資源,語法為:  @drawable/ic_launcher  在 java 檔案中取用的語法為:  R. 類別名稱. 欄位名稱  如在 檔中要使用 檔 圖片資源,語法為:  R.drawable.ic_launcher

31

32  View 類別簡介  此為所有視覺化控制項的基礎類別,主要是提供控制 項繪製和事件處理的方法。建立用戶介面所使用的控 制項都繼承自 View ,如 TextView 、 Button 、 CheckBox 等。  關於 View 及其子類別的相關屬性,既可設定於版面配 置 XML 檔中,也能以成員方法在程式碼中動態設定。 View 類別常用的屬性及其對應方法如表所示。

33  View 類別簡介

34  ViewGroup 類別簡介  ViewGroup 的子控制項既能是普通的 View ,也可以是 ViewGroup 。 Android 的一些進階控制項,例如 Galley 、 GridView 等都繼承自 ViewGroup 。   與 Java SE 不同, Android 並沒有設計版面配置管理器, 而是為每種不同的版面配置提供一個 ViewGroup 的子 類別,常用的版面配置及其類別結構如圖所示。

35  Android 的 UI 界面都是由 View 和 ViewGroup 及其派 生類組合而成的。  其中, View 是所有 UI 組件的基類,而 ViewGroup 是 容納這些組件的容器,其本身也是從 View 派生出來 的。  很多基本的控件 Widget 如: ImageView , TextView 等都是直接從 view 派生下來

36  LinearLayout 類別簡介  線性版面配置是最簡單的版面配置之一,它提供控制 項水平或垂直排列的模型;同時,使用此版面配置時 還能透過控制項的 weight 參數掌握各個控制項在容器 中的相對大小。既可在版面配置檔 (XML) 設定 LinearLayout 版面配置的屬性,也可透過成員方法達成。 下表列出 LinearLayout 常用的屬性及對應的設定方法。

37  LinearLayout 類別簡介  線性版面配置是以 gravity 屬性設定控制項的對齊方式, gravity 可取的值及說明如下表所示。  範例  線性版面配置案例  操作步驟請見課本 P.3-4~P.3-7

38  TableLayout 類別簡介  TableLayout 類別以行、列形式管理控制項,每列為一 個 TableRow 物件,或者是 View 物件;當為 View 物件時, 將可跨越該列的所有行。 TableRow 可以添加子控制項, 每新增一個子控制項為一行  TableLayout 版面配置並不會為每一列、每一行或每個 單格繪製邊框,每一列擁有 0 或多個單格,每個單格為 一個 View 物件。 TableLayout 允許空的單格,而單格也 能像 HTML 中那樣跨越多行。

39  TableLayout 類別簡介  在表格版面配置中,一行的寬度由該行中最寬的單格 決定,而表格的寬度則是由父容器指定。 TableLayout 可以為行設定三種屬性: Shrinkable ,如果一行被標示為 Shrinkable ,代表寬度可進 行收縮,以使表格能夠適應父容器的大小  Stretchable ,如果一行被標示為 Stretchable ,表示寬度可 進行拉伸,以使填滿表格的空間  Collapsed ,如果一行被標示為 Collapsed ,則該行將被隱藏

40  TableLayout 類別簡介  TableLayout 繼承 LinearLayout 類別,除了擁有父類別 的屬性和方法之外, TableLayout 類別還包含表格版 面配置特有的屬性和方法,如下表所示。

41  RelativeLayout 類別簡介  相對版面配置中,子控制項的位置是相對於兄弟控制 項或父容器而決定的。其於效能考慮,設計相對版面 配置時要按照控制項之間的依賴關係排列,例如 View A 的位置是相對於 View B 來決定,則需要保證版面配置 檔中 View B 排在 View A 的前面。  相對版面配置用到的屬性很多,首先來看只為 true 或 false 的屬性值,如下表所示。

42  RelativeLayout 類別簡介  屬性值為其他控制項 id 的屬性,如下表所示。

43  RelativeLayout 類別簡介  屬性值以像素為單位的屬性及說明,如下表所示

44  FrameLayout 類別簡介  FrameLayout 框架版面配置在螢幕開闢出一塊區域, 並可添加多個子控制項,但是所有的子控制項都對齊 到螢幕的左上角。框架版面配置的大小由尺寸最大的 那個子控制項來決定,如果都一樣大,同一時刻只能 看到最上面的子控制項。  FrameLayout 繼承 ViewGroup 類別,除了擁有父類別 的屬性和方法, FrameLayout 還包含自己特有的屬性 和方法,如下表所示。

45  FrameLayout 類別簡介  FrameLayout 繼承 ViewGroup 類別,除了擁有父類別 的屬性和方法, FrameLayout 還包含自己特有的屬性 和方法,如下表所示。

46  AbsoluteLayout 類別簡介  所謂絕對版面配置,是指螢幕中所有控制項的擺放由 開發人員透過控制項的座標來指定,控制項容器不再 負責管理子控制項的位置。由於子控制項的位置和版 面配置都藉由座標來設定,因此 AbsoluteLayout 類別 並沒有提供特有的屬性和方法


Download ppt "Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具."

Similar presentations


Ads by Google