本程式碼研究室是 Android Kotlin 基礎課程的一部分。使用程式碼研究室逐步完成程式碼課程後,您將能充分發揮本課程的潛能。所有課程程式碼研究室清單均列於 Android Kotlin 基礎程式碼研究室到達網頁。
引言
在這個程式碼研究室中,您可以在模擬器和實體裝置上建立及執行第一個 Android 應用程式 HelloWorld。您也可以探索 Android 專案的外觀。
須知事項
- 您不妨使用 IDE (整合式開發環境) (例如 Android Studio) 瞭解物件導向應用程式的一般軟體開發程序。
- 在物件導向的程式設計上,您至少應具備一年以上的經驗,並且對 Java 和 Kotlin 有所瞭解。
您將會瞭解的內容
- 如何在 Android Studio 中建立基本 Android 應用程式。
- 如何使用範本建立 Android 專案。
- 如何尋找 Android 專案的主要元件。
- 如何在模擬器或實體裝置上執行 Android 應用程式。
實際做法
- 建立新的 Android 專案和名為 HelloWorld 的預設應用程式。
- 建立模擬器 (虛擬裝置),以便在電腦上執行應用程式。
- 在虛擬和實體裝置上執行 HelloWorld 應用程式。
- 探索專案版面配置。
- 探索
AndroidManifest.xml
檔案。
HelloWorld 應用程式會在 Android 虛擬裝置或實體裝置螢幕上顯示「Hello World」字串。應用程式看起來像這樣:
在這項工作中,您會建立新的應用程式專案,確認 Android Studio 已正確安裝。
- 開啟 Android Studio (如果尚未開啟)。
- 在「歡迎使用 Android Studio」對話方塊中,按一下 [建立新的 Android Studio 專案]。
- 畫面上會顯示「選擇您的專案」對話方塊。請在下方選取 [空白活動],然後點選 [下一步]。
Activity
是使用者關注的單項項目。每個應用程式都必須有至少一個活動做為進入點。您可以將此進入點的活動視為其他程式中的main()
函式。活動通常會有相關聯的版面配置,以定義使用者介面 (UI) 元素在螢幕上的呈現方式。Android Studio 提供多種Activity
範本,可協助您輕鬆上手。 - 在「Configure your project」(設定專案) 對話方塊中,輸入「quoquo;HelloWorld」為「Name」(名稱)。
- 接受「公司網域」的預設 android.example.com,或建立不重複的公司網域。這個值加上應用程式名稱就是您應用程式的套件名稱。如果您不打算發布應用程式,請接受預設值。您日後可以變更應用程式的套件名稱,不過這麼做是額外的作業。
- 確認您預設的「儲存位置」是您要儲存應用程式的位置;如果不是,請將位置變更為您偏好的目錄。
- 確認語言是 Kotlin。
- 確定最低 API 等級為 API 19:Android 4.4 (KitKat)。撰寫這個程式碼研究室時,Android Studio 表示在這個 API 級別中,該應用程式約有 95.3% 的裝置會執行應用程式。
(如要進一步瞭解後續 API 級別的相關資訊,請參閱後續的程式碼研究室。如需瞭解詳情,請按一下 [讓我自己選擇],系統隨即會開啟一個視窗,其中提供 API 級別的相關資訊。) - 勾選 [使用 AndroidX 成果] 核取方塊。
- 讓其他核取方塊全部清除,然後按一下 [完成]。如果專案需要您提供更多目標 SDK 的元件,Android Studio 會自動安裝這些元件,這可能需要一點時間。按照提示操作,並接受預設選項。
Android Studio 現在會建立您的專案,可能需要一些時間。您應該不會發生錯誤。如果出現任何警告,請予以忽略。
在這項工作中,您可以探索 Android Studio 中的 HelloWorld 專案,並瞭解使用 Android Studio 進行開發的基本概念。
步驟 1:探索專案窗格
- 如果尚未選取 [Project] (專案) 分頁標籤,請選取該標籤。「專案」分頁位於 Android Studio 視窗左側的垂直分頁欄中。「專案」窗格隨即開啟。
- 如要以標準 Android 專案階層方式查看專案,請從「專案」窗格頂端的下拉式選單中選取 [Android]。(預設為 Android)。您可以透過多種方式查看專案檔案,包括檢視檔案在檔案系統階層中的顯示方式。不過,這個專案較容易使用 Android 檢視模式。
步驟 2:探索應用程式資料夾
您應用程式的所有程式碼和資源都位於 app
資料夾中。
- 在「Project > Android」窗格中展開「app」資料夾。
app
資料夾中包含四個子資料夾:manifests
、java
、generatedJava
和res
。 - 展開 java 資料夾,然後展開 com.example.android.HelloWorld 資料夾以查看 MainActivity Kotlin 檔案。
java 資料夾包含 Android 應用程式的所有主要 Kotlin 程式碼,因為 Kotlin 程式碼會顯示在 Java 資料夾中,所以有歷史原因可供參考。這樣一來,Kotlin 就能和使用 Java 程式設計語言編寫的程式碼完美搭配運作,即使是在相同的專案和應用程式中也是如此。
應用程式的類別檔案分成三個子資料夾,如上圖所示。com.example.hello.helloworld (或您指定的網域名稱) 資料夾內含應用程式套件的所有檔案。具體來說,MainActivity
類別是您應用程式的主要進入點。您可以在下一個程式碼研究室中進一步瞭解MainActivity
。java
資料夾中的另外兩個資料夾會用於測試相關程式碼,例如單元測試。
- 請記下 generatedJava 資料夾。這個資料夾包含 Android Studio 建立應用程式時產生的檔案。請勿編輯這個資料夾中的任何內容,因為當您重新建立應用程式時,變更可能會被覆寫。不過,如果您在偵錯時需要查看這些檔案,瞭解這個資料夾會十分有用。
步驟 3:探索 res 資料夾
- 在「Project > Android」窗格中,展開 res 資料夾。
res 資料夾內含資源。Android 中的「資源」是您應用程式的靜態內容,資源包括圖片、文字字串、螢幕版面配置、樣式,以及十六進位顏色或標準尺寸等值。
Android 應用程式會盡可能區隔 Kotlin 程式碼和資源。這樣比較容易找到在應用程式使用者介面中使用的字串或圖示。此外,當您變更其中一個資源檔案時,檔案在應用程式中的所有位置都會受到變更。 - 展開 res 資料夾內的「layout」資料夾,查看
activity_main.xml
檔案。
您的 Activity
通常與 UI 版面配置檔案相關聯,其定義為 res/layout
目錄中的 XML 檔案。該版面配置檔案通常以活動的名稱命名。在這個案例中,活動名稱是 MainActivity
,因此相關的版面配置是 activity_main
。
步驟 4:探索資訊清單資料夾和 AndroidManifest.xml
manifests
資料夾內含一些檔案,可將這些重要資訊提供給 Android 系統。
- 展開「manifests」資料夾,然後按兩下「AndroidManifest.xml」將其開啟。
AndroidManifest.xml
檔案內含 Android 系統執行應用程式所需的詳細資料,包括應用程式包含的活動。 - 請注意,
<activity>
元素會參照MainActivity
。應用程式中的所有Activity
都必須在資訊清單中聲明。以下是MainActivity
的範例:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- 請注意
<activity>
內的<intent-filter>
元素。這個意圖篩選器中的<action>
和<category>
元素會告訴 Android,當使用者按一下啟動器圖示時,要在哪裡啟動應用程式。您可以在後續的程式碼研究室中進一步瞭解意圖篩選器。
AndroidManifest.xml
檔案也是您定義應用程式需要的權限。這些權限包括讓應用程式讀取手機聯絡人、透過網際網路傳送資料,或是存取裝置的相機等硬體設備。
Gradle 是一個建構自動化系統,可透過特定領域語言來描述應用程式的專案結構、配置和依附元件。編譯及執行應用程式時,您會看到 Gradle 建構執行的相關資訊。您也會看到已安裝的 Android Package Kit (APK) 相關資訊。(APK 是 Android 作業系統用於發布及安裝行動應用程式的套件檔案格式)。
探索 Gradle 系統:
- 展開 [Gradle Scripts] 資料夾。在 [Project > Android] 窗格中,這個資料夾包含建構系統所需的所有檔案。
- 尋找 build.gradle(Project: HelloWorld) 檔案。
這個檔案包含構成專案的所有模組常見的設定選項。每個 Android Studio 專案都包含單一頂層 Gradle 建構檔案。這個檔案會定義專案中所有模組通用的 Gradle 存放區和依附元件。 - 尋找 build.gradle(Module:app) 檔案。
除了專案層級的build.gradle
檔案以外,每個模組都有一個build.gradle
檔案。模組層級的build.gradle
檔案可讓您為每個模組調整建構作業設定。(HelloWorld 應用程式只有一個模組,應用程式本身就是一個模組)。這個build.gradle
檔案是您在變更應用程式層級版本設定時最常編輯的檔案。舉例來說,當您變更應用程式支援的 SDK 等級,或是在「dependencies
」部分中宣告新的依附元件時,就可以編輯這個build.gradle
檔案。您可以在後續的程式碼研究室中進一步瞭解這兩項功能。
在這項工作中,您必須使用 Android 虛擬裝置 (AVD) 管理員建立虛擬裝置 (模擬器)。虛擬裝置會模擬特定 Android 裝置類型的設定。然後,你會使用該虛擬裝置執行應用程式。
Android Emulator 是獨立的應用程式,有其專屬的系統需求。虛擬裝置可能會占用大量磁碟空間。如果您遇到任何問題,請參閱在 Android 模擬器上執行應用程式。
步驟 1:建立 Android 虛擬裝置 (AVD)
如要在電腦上執行模擬器,您必須建立描述虛擬裝置的設定。
- 在 Android Studio 中,選取 [Tools > AVD Manager],或按一下工具列中的「AVD Manager」圖示
。系統隨即會顯示「您的虛擬裝置」對話方塊。如果您已建立虛擬裝置,對話方塊就會顯示這類裝置 (如下圖所示),否則您會看到空白清單。
- 按一下對話方塊左下方的 [+ 建立虛擬裝置]。「選取硬體」對話方塊隨即顯示,顯示預先設定的硬體裝置清單。表格會針對每個裝置提供一個對角線顯示大小 (大小)、像素解析度 (像素) 與像素密度 (密度)。
- 選取裝置 (例如 [Nexus 5x] 或 [Pixel XL]),然後點選 [下一步]。系統隨即顯示「系統映像檔」對話方塊。
- 按一下 [推薦] 分頁標籤,然後選擇要在虛擬裝置上執行的 Android 系統版本 (例如「派餅」)。
- 選擇系統映像檔後,按一下 [下一步]。「Android Virtual Device (AVD)」對話方塊隨即開啟。檢查您的設定,然後按一下 [Finish] (完成)。
步驟 2:在虛擬裝置上執行應用程式
在這項工作中,您最後會執行新的應用程式。
- 在 Android Studio 中,選取 [Run > Run app],或點選工具列中的「Run」圖示 。系統隨即顯示「Select Deployment Target」對話方塊,並向您說明沒有可用的裝置。如果您尚未在開發電腦中連線實體裝置,或是尚未啟動虛擬裝置,系統就會顯示這則警告。
- 在「選取部署作業目標」對話方塊中的「可用的虛擬裝置」底下,選取您建立的虛擬裝置。按一下 [確定]。
模擬器就像實體裝置一樣,會啟動及啟動裝置。視電腦速度而定,整個過程可能需要一些時間。您的應用程式在建置中,當模擬工具準備就緒後,Android Studio 會將應用程式 APK 上傳至模擬器,然後執行。
下圖應該是 HelloWorld 應用程式,如下圖所示:
在這項工作中,您的應用程式會在實體行動裝置 (例如手機或平板電腦) 上運作。請一律在虛擬和實體裝置上測試您的應用程式。
需求條件:
- Android 裝置,例如手機或平板電腦。
- USB 資料傳輸線,可透過 USB 連接埠將 Android 裝置連接到電腦。
- 如果您使用的是 Linux 或 Windows 系統,可能需要執行額外步驟。請參閱在硬體裝置上執行應用程式說明文件。您可能還需要為裝置安裝適當的 USB 驅動程式。如果您使用的是 Windows 的 USB 驅動程式,請參閱安裝 OEM USB 驅動程式。
步驟 1:開啟 USB 偵錯功能
如要允許 Android Studio 與 Android 裝置通訊,必須在裝置的「開發人員選項」設定中啟用 USB 偵錯功能。
在 Android 4.2 (Jellybean) 以上版本中,「開發人員選項」設定預設為隱藏。如何顯示開發人員選項並啟用 USB 偵錯功能:
- 在裝置上開啟「設定」應用程式,然後搜尋「關於手機」和 [關於手機],然後輕觸 [版本號碼]。
- 返回上一頁 ([設定/系統])。「開發人員選項」就會顯示在清單中。輕觸 [開發人員選項]。
- 選取 [USB 偵錯]。
步驟 2:在 Android 裝置上執行應用程式
現在您可以透過 Android Studio 連結裝置並執行應用程式。
- 使用 USB 傳輸線將 Android 裝置連接至您開發的機器上。裝置上應顯示對話方塊,要求允許 USB 偵錯。
- 選取「Always allow」(一律允許) 選項,即可記住這部電腦。輕觸「OK」(確定)
- 在電腦上,按一下 Android Studio 工具列中的 [執行] 按鈕
。「選取部署目標」對話方塊隨即開啟,其中包含可用的模擬器清單和已連線的裝置清單。你應該會看到自己的實體裝置和所有模擬器。
- 選取您的裝置,然後按一下 [OK] (確定)。Android Studio 會在裝置上安裝並執行應用程式。
疑難排解
如果 Android Studio 無法辨識您的裝置,請嘗試下列做法:
- 拔除 USB 傳輸線,然後再重新插上。
- 重新啟動 Android Studio。
如果您的電腦仍然找不到裝置,或宣告裝置「未獲授權」,請按照下列步驟操作:
- 拔除 USB 傳輸線。
- 在裝置上開啟「設定」應用程式中的 [開發人員選項]。
- 輕觸 [撤銷 USB 偵錯授權]。
- 將裝置重新連接至電腦。
- 當系統提示時,請授權。
您可能需要為裝置安裝適當的 USB 驅動程式。請參閱在硬體裝置上執行應用程式。
挑戰:現在您已設定好並熟悉基本開發工作流程,您可以採取下列做法:
- 在 Android Studio 中建立新專案。
- 將「你好世界」問候語「問候語」為「生日快樂」,以及最近生日的人。
- 如要安裝 Android Studio,請前往 Android Studio,然後按照操作說明下載並安裝。
- 如要在「專案」窗格中查看應用程式的 Android 階層,請按一下垂直標籤欄中的 [專案] 分頁標籤。然後在頂端的下拉式選單中選取 [Android]。
- 當您需要為專案新增依附元件或變更依附元件版本時,請編輯
build.gradle(Module:app)
檔案。 - 應用程式的所有程式碼和資源都位於
app
和res
資料夾中。java
資料夾內含 Kotlin 和 Java 原始碼 (或兩者皆有) 中的活動、測試和其他元件。res
資料夾內含各種資源,例如版面配置、字串和圖片。 - 如要為 Android 應用程式新增功能、元件和權限,請編輯
AndroidManifest.xml
檔案。所有應用程式元件 (例如其他活動) 都必須在這個 XML 檔案中宣告。 - 如要建立 Android 虛擬裝置 (模擬器),以執行應用程式,請使用 AVD Manager。
- 如要使用 Android Studio 在實體 Android 裝置上執行應用程式,請在裝置上啟用 USB 偵錯功能。做法是開啟 [設定] > [關於手機],然後輕觸 [版本號碼] 7 次。然後開啟 [設定] > [開發人員選項],然後選取 [USB 偵錯]。
Udacity 課程:
Android Studio 說明文件:
其他:
這個部分會列出在代碼研究室中,受老師主導的課程作業的可能學生作業。由老師自行決定要執行下列動作:
- 視需要指派家庭作業。
- 告知學生如何提交家庭作業。
- 批改家庭作業。
老師可視需要使用這些建議,並視情況指派其他合適的家庭作業。
如果您是自行操作本程式碼研究室,歡迎透過這些家庭作業來測試自己的知識。
建構並執行應用程式
- 從「空白範本」中建立新的 Android 專案。
- 開啟
res/strings.xml
檔案。 - 將
app_name
字串的值變更為「My Dice Roller」。這個名稱會顯示在標題列中。 - 為裝置建立模擬器,指定您喜歡的任何 Android 版本,並執行應用程式。請注意應用程式的名稱會有什麼變化。
回答這些問題
第 1 題
主要活動的版面配置檔案名稱為何?
MainActivity.java
AndroidManifest.xml
activity_main.xml
build.gradle
第 2 題
指定應用程式名稱的應用程式字串名稱為何?
app_name
xmlns:app
android:name
applicationId
第 3 題
您使用什麼工具來建立新的模擬器?
- Android 裝置監視程式
- AVD Manager
- SDK Manager
- 主題編輯器
提交應用程式評分
確認該應用程式是否符合下列條件:
- 畫面上顯示「Hello World」的
Activity
。 - 標題列顯示「我的骰子滾珠」。
開始下一門課程:
如要瞭解本課程中其他程式碼研究室的連結,請參閱 Android Kotlin 基礎程式碼程式碼到達網頁。