Photo by Mika Baumeister on Unsplash
上一篇安裝完成 Android Studio 及虛擬裝置,本篇就繼續瞭解如何建立新專案及模組。
[建立新專案]
第一次進入 Android Studio 後,會出現以下視窗,讓使用者選擇新建專案,或開啟舊專案。選擇「Create New Project」建立新專案:android Studio預設幾個不同的 Activity 範本供使用者選擇,這裡選擇「Empty Activity」空白 Activity,等更熟悉 Android 的程式及應用後,再使用其他的 Activity 。
接著輸入專案名稱及儲存路徑等資訊,除了專案名稱外可以使用中文外,Package 名稱不能有空格,也不能使用中文,儲存檔案的目錄也不能使用中文路徑,會造成編譯上的錯誤。
- Name:你的 App 名稱。
- Package name:專案的套件名稱,預設為 Company Domain 加 Application nam 組合,可以修改自己喜歡的名稱,
- Save location:專案儲存的目錄位置,可以建立一個專門存放 APP 專案的資料夾(不能包含空白),預設會放在 C\Users\「登入名稱」\AndroidStudioProjects資料夾內。
- Language:使用程式語言,選擇 Java 或 Kotlin,接下來的學習以 Java 為主。
- Minimum SDK:選擇 SDK的最小版本,下方會提示你所選擇的 Android 版本限制目前符合的人數佔多少百分比,建議選擇接近 100% 的版本來進行開發。
配置完畢後點擊 Finish ,要稍等一下系統建立一個新專案。
[IDE介面操作]
建立/開啟專案後,會開啟如下圖的整合開發環境(Integrated Development Environment,簡稱IDE)。(1)功能選單:提供各種操作的選單,可依分類下拉功能表點選。
(2)導航欄:提供 Project 視窗中所示結構的精簡目錄。
(3)工具窗口頁簽:在 IDE 視窗外圍,點選後可展開或折疊各個工具窗口的按鈕。
(4)專案資料夾:專案的樹狀結構,如 Android 或專案目錄,例如專案管理、搜索和版本控制等。您可以展開和折疊這些窗口。
(5)狀態欄:顯示專案和 IDE 本身的狀態以及任何警告或訊息。
(6)工具箱:存放各種元件,可以將元件由此處拖曳至右方的設計編輯區。
(7)元件樹:查看佈局(Layout)的層次結構。
(8)設計編輯器:設計視圖 Layout 和 Blueprint 視圖 Layout。
(9)元件屬性:針對選定視圖元件,可在這裡改變元件的屬性。
簡單瞭解操作介面後,可以隱藏或移動工具欄或各視窗,也可以快捷鍵操作,有關快捷鍵可參考 這裡。
在程式編輯的視窗,如要查找某個變量、類別、方法定義的源頭,例如查找 Layout、res 相關資源等文件,只要按住 Ctrl 鍵,將滑鼠游標放到變量的上面,即會出現這個變量所在的文件,點擊就會跳轉到對應的文件。如下圖:
[Android 專案目錄結構]
Android的專案目錄主要可分為 3 個部分:包括 manifests、java 和 res,以及自動產生的 Gradle ,目錄結構的說明如下:目錄 | 子目錄 | 子目錄 | 說明 |
---|---|---|---|
App | Android 最上層的目錄,是一個可以單獨執行和除錯的 application。 | ||
manifests | 放置 Android App 整體資訊的主要設定,內有一個預設名稱為AndroidManifest.xml 的檔案。 設定檔的內容使用 XML 格式記錄了這個APP內的重要資料,如package名稱、版本、 Android版本資訊、權限與所使用到的類別(如Activity、Receiver、Service、Provider等)。 | ||
java | 放置 Java 程式的目錄,子目錄名稱為[Company Domain(inverse) + Application name],子目錄內 有一個預設的程式 MainActivity,如果建立專案的語言選擇 Java,MainActivity 的副檔名是 .java, 如果程式語言選擇 Kotlin,附檔名為.kt。MainActivity 檔案內會描述開啟的 Activity 畫面元件。 | ||
res | resource 的簡稱,放置專案所需的系統資源相關檔案,如外觀佈局(Layout)、圖片與文字。 | ||
drawable | 放置圖片資源的目錄,例如 png、jpg等圖片檔案。 | ||
layout | 放置佈局版面的資源,如 App 外觀及呈現的畫面都會放在這個資料夾。 目錄內有一個檔案名為:activity_main.xml,主要是定義 App 的外觀。 | ||
mipmap | 放置各種尺寸及應用的圖標,可以讓不同的解析度的圖標顯示在相對應的手機上。 | ||
values | 放置介面需用到的文字、顏色等一些常數的定義資料,例如:文字、尺寸、顏色等等, 若要設定不同語言的設定檔也是放在這裡。 ⬝ colors.xml:定義顏色。 ⬝ dimens.xml:定義尺寸。 ⬝ strings.xml:定義文字。 ⬝ styles.xml:定義樣式。 | ||
Gradle Scripts | Gradle 簡單說就是「專案自動化建構工具」,運用它處理 java 代碼、資源文件等需要經過 SDK 的一些程序形成 APK 執行包,Gradle 就是把那些步驟變簡單。Gradle 也就是 Java 的 Makefile,它可以管理專案開發過程中舉凡檢查程式碼、編譯、測試、產生文件、上傳、 發佈等,都可以利用 Gradle 撰寫的 Script 來自動完成作業。目錄下有兩個比較重要的檔案: build.gradle(Project:專案名稱):應用程式最頂端的 Gradle 設定檔。 build.gradle(Module:模組名稱):每一個模組的Gradle設定檔。 |
[應用程式主設定檔 AndroidManifest.xml]
每一個應用程式專案中一定會有一個 AndroidManifest.xml 檔案,這個 XML 格式的檔案記錄這個 APP 的重要資料,如 Android版本資訊、Package名稱、版本、所使用的類別(如Activity、Receiver、Service、Provider)等資訊。如下圖:AndroidManifest.xml中的描述的宣告如下:
- package: 為應用程式的 Java 封裝命令,上架發布到「Google Play商店」時 package 名稱必須是唯一的,不能與其他應用程式有所重複,通常會加上公司的網域名,如「com.example.myapp」。
- application:用於定義應用程式相關的元件、設計中的屬性可預設應用程式的基本資訊。
- android:icon 定義應用程式的圖示,預設Androd 機器人圖示,可使用其他的圖檔替換成自訂的圖示。。
- android:label 定義應用程式的標籤名稱、預設為專案建置時所設的名稱。
- android:theme 定義應用程式的主题風格,也可說是應用程式的基本樣式,其設定於 application 中將會預設給所有子頁面。
- activity:「application」底下需要描述用程式在執行中使用到的所有類別方法,activity為其中的Activity。
上圖的 application 中有一個 activity(紅線方框處),代表這個 APP 目前只有一個畫面類別,類別名稱為 MainActivity。如果需要更多的 activity 或是其他類別就需要手動增加。
另外,Android 重要的四個應用程式組件(如 Activity、Service等)也是在這裡定義,這些類別在被執行前,系統會去査閱 application 是否有對應的描述,如果有多個畫面使用不同的 activity ,就要在 application 中描述,如果沒有描述,編譯時就會產生無法呼叫該 activity 的錯誤。
[參考資料]
- Developers:開發者指南
- Android 培訓課程
- Android Asset Studio
張貼留言