Android Kotlin 基礎知識 01.1:踏出第一步

這個程式碼研究室是 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 已正確安裝。

  1. 開啟 Android Studio (如果尚未開啟)。
  2. 在主要的「Welcome to Android Studio」對話方塊中,按一下「Start a new Android Studio project」

  3. 系統會顯示「Choose your project」 對話方塊。如下所示選取「Empty Activity」,然後點選「Next」



    「活動」Activity 是使用者可執行的單一專注事項。每個應用程式都必須至少有一個活動做為進入點。您可以將這個進入點活動視為其他程式中的 main() 函式。活動通常會與版面配置建立關聯,定義使用者介面 (UI) 元素在畫面上的顯示方式。Android Studio 提供多種Activity範本,可協助您快速上手。
  4. 在「設定專案」對話方塊中,輸入「HelloWorld」做為名稱

  5. 接受「公司網域」的預設值 android.example.com,或建立專屬公司網域。這個值加上應用程式名稱,就是應用程式的套件名稱。如果您不打算發布應用程式,請接受預設值。您日後可以變更應用程式的套件名稱,但需要額外作業。
  6. 確認預設的「Save location」(儲存位置) 是您要儲存應用程式的位置。如果不是,請將位置變更為偏好的目錄。
  7. 確認「Language」(語言) 為 Kotlin。
  8. 請確認最低 API 級別為「API 19:Android 4.4 (KitKat)」。撰寫本程式碼研究室時,Android Studio 指出,如果使用這個 API 級別,應用程式約可在 95.3% 的裝置上執行。
    (您會在後續的程式碼研究室中,進一步瞭解最低 API 級別。如要立即瞭解詳情,請按一下「幫我選擇」,開啟含有 API 級別資訊的視窗。)
  9. 勾選「Use AndroidX artifacts」(使用 AndroidX 構件) 核取方塊。
  10. 將其他核取方塊全部取消勾選,然後按一下「完成」。如果專案需要更多元件才能使用所選目標 SDK,Android Studio 會自動安裝這些元件,這可能需要一段時間。按照提示操作並接受預設選項。

Android Studio 現在會建立專案,這可能需要一些時間。您不應收到任何錯誤訊息。如有警告,可全數忽略。

在這項工作中,您將在 Android Studio 中探索 HelloWorld 專案,並瞭解使用 Android Studio 開發應用程式的基本概念。

步驟 1:探索「專案」窗格

  1. 如果尚未選取「專案」分頁,請選取該分頁。「Project」分頁位於 Android Studio 視窗左側的直向分頁欄中。「專案」窗格隨即開啟。


  2. 如要以標準 Android 專案階層檢視專案,請從「Project」窗格頂端的下拉式選單中選取「Android」Android。(預設為 Android)。您可以透過多種方式查看專案檔案,包括查看檔案在檔案系統階層中的顯示方式。不過,使用 Android 檢視畫面處理專案會比較容易。

步驟 2:瀏覽應用程式資料夾

應用程式的所有程式碼和資源都位於 app 資料夾中。

  1. 在「Project」>「Android」窗格中,展開「app」資料夾。app 資料夾內有四個子資料夾:manifestsjavageneratedJavares
  2. 展開「java」資料夾,然後展開「com.example.android.HelloWorld」資料夾,即可看到「MainActivity」 Kotlin 檔案。



    「java」java資料夾包含 Android 應用程式的所有主要 Kotlin 程式碼。Kotlin 程式碼出現在 java 資料夾中,是基於歷史因素。這項慣例可讓 Kotlin 與以 Java 程式設計語言編寫的程式碼順暢互通,即使是在同一個專案和應用程式中也一樣。

    如上圖所示,應用程式的類別檔案包含在三個子資料夾中。com.example.hello.helloworld (或您指定的網域名稱) 資料夾包含應用程式套件的所有檔案。特別是 MainActivity 類別,這是應用程式的主要進入點。您會在下一個程式碼研究室中進一步瞭解 MainActivityjava 資料夾中的其他兩個資料夾用於與測試相關的程式碼,例如單元測試。
  1. 請注意 generatedJava 資料夾。這個資料夾包含 Android Studio 建構應用程式時產生的檔案。請勿編輯這個資料夾中的任何內容,因為您重建應用程式時,系統可能會覆寫變更。不過,在偵錯期間需要查看這些檔案時,瞭解這個資料夾就很有幫助。

步驟 3:瀏覽 res 資料夾

  1. 在「Project」>「Android」窗格中,展開「res」資料夾。

    「res」資料夾包含資源。Android 中的資源是指應用程式使用的靜態內容,資源包括圖片、文字字串、畫面版面配置、樣式和值,例如十六進位顏色或標準尺寸。

    Android 應用程式會盡可能將 Kotlin 程式碼和資源分開。這樣一來,您就能更輕鬆地找出應用程式 UI 中使用的所有字串或圖示。此外,變更其中一個資源檔案時,應用程式中所有使用該檔案的位置都會套用變更。
  2. 在「res」資料夾中展開「layout」資料夾,即可看到 activity_main.xml 檔案。


您的 Activity 通常會與 UI 版面配置檔案建立關聯,該檔案定義為 res/layout 目錄中的 XML 檔案。該版面配置檔案通常會以活動命名。在本例中,活動名稱為 MainActivity,因此相關聯的版面配置為 activity_main

步驟 4:探索資訊清單資料夾和 AndroidManifest.xml

manifests 資料夾包含的檔案會向 Android 系統提供應用程式的基本資訊。

  1. 展開「manifests」資料夾,然後按兩下「AndroidManifest.xml」開啟檔案。AndroidManifest.xml 檔案包含 Android 系統執行應用程式所需的詳細資料,包括應用程式包含哪些活動。


  2. 請注意,MainActivity 是在 <activity> 元素中參照。應用程式中的所有 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>
  1. 請注意 <activity> 內的 <intent-filter> 元素。這個意圖篩選器中的 <action><category> 元素會告知 Android,使用者點選啟動器圖示時,應從何處啟動應用程式。我們會在後續的程式碼研究室中,進一步說明意圖篩選器。

您也可以在 AndroidManifest.xml 檔案中定義應用程式所需的任何權限。權限包括允許應用程式讀取手機聯絡人、透過網際網路傳送資料,或存取裝置相機等硬體。

Gradle 是一套建構自動化系統,使用網域專屬語言來描述應用程式的專案結構、設定和依附元件。編譯及執行應用程式後,即可查看 Gradle 建構作業執行的相關資訊。您也會看到所安裝 Android 套件組合 (APK) 的相關資訊。(APK 是 Android 作業系統用來發布及安裝行動應用程式的套件檔案格式)。

探索 Gradle 系統:

  1. 展開「Gradle Scripts」資料夾。在「Project」>「Android」窗格中,這個資料夾包含建構系統所需的所有檔案。


  2. 找出 build.gradle(Project: HelloWorld) 檔案。

    這個檔案包含專案中所有模組共用的設定選項。每個 Android Studio 專案都包含單一頂層 Gradle 建構檔案。這個檔案定義專案中所有模組共用的 Gradle 存放區和依附元件。
  3. 找出 build.gradle(Module:app) 檔案。

    除了專案層級的 build.gradle 檔案,每個模組都有自己的 build.gradle 檔案。模組層級 build.gradle 檔案可讓您設定每個模組的建構設定。(HelloWorld 應用程式只有一個模組,也就是應用程式本身的模組)。變更應用程式層級的建構設定時,您最常編輯的就是這個 build.gradle 檔案。舉例來說,當您變更應用程式支援的 SDK 層級,或在 dependencies 區段中宣告新的依附元件時,就會編輯這個 build.gradle 檔案。您將在後續的程式碼研究室中進一步瞭解這兩項功能。

在這項工作中,您會使用 Android 虛擬裝置 (AVD) 管理工具建立虛擬裝置 (模擬器)。虛擬裝置會模擬特定 Android 裝置類型的設定。然後,您就能使用該虛擬裝置執行應用程式。

Android Emulator 是一款獨立應用程式,有自己的系統需求。虛擬裝置可能會占用大量磁碟空間。如果遇到任何問題,請參閱「在 Android Emulator 上執行應用程式」。

步驟 1:建立 Android 虛擬裝置 (AVD)

如要在電腦上執行模擬器,必須建立描述虛擬裝置的設定。

  1. 在 Android Studio 中,依序選取「Tools」>「AVD Manager」,或按一下工具列中的「AVD Manager」圖示 AVD Manager 圖示。系統會顯示「Your Virtual Devices」(您的虛擬裝置) 對話方塊。如果您已建立虛擬裝置,對話方塊會顯示這些裝置 (如下圖所示)。否則,您會看到空白清單。

    Android 虛擬裝置 (AVD) 管理工具,顯示已建立的虛擬裝置清單
  2. 按一下對話方塊左下方的「+Create Virtual Device」。系統會顯示「Select Hardware」對話方塊,內含預先設定的硬體裝置清單。表格中,每種裝置的「螢幕尺寸」(Size)、以像素為單位的螢幕解析度 (Resolution) 和「密度」(Density) 各列於一欄。

    選取硬體裝置
  3. 選取裝置 (例如 Nexus 5xPixel XL),然後按一下「Next」。系統會隨即顯示「System Image」 對話方塊。
  4. 按一下「Recommended」(推薦) 分頁標籤,然後選擇要在虛擬裝置上執行的 Android 系統版本 (例如「Pie」)。


  1. 選擇系統映像檔後,按一下「下一步」。系統會開啟「Android Virtual Device (AVD)」對話方塊。檢查設定,然後按一下「完成」

步驟 2:在虛擬裝置上執行應用程式

在這項工作中,您將執行新應用程式。

  1. 在 Android Studio 中,依序選取「Run」>「Run app」,或按一下工具列的「Run」圖示「Run app」或按一下工具列中的「Run」圖示 [ICON HERE]。[IMAGEINFO]:ic_run.png,Android Studio 執行圖示" style="width: 24.00px" src="img/6c65750f2ce7f651.png"> 工具列中的圖示。畫面上會顯示「Select Deployment Target」對話方塊,並警告您沒有可用的裝置。如果開發電腦未連線至實體裝置,或您尚未啟動虛擬裝置,系統就會顯示這則警告。
  2. 在「Select Deployment Target」對話方塊的「Available Virtual Devices」下方,選取您建立的虛擬裝置。按一下「確定」



    模擬器的啟動方式與實體裝置相似。視電腦速度而定,這項程序可能需要一段時間才能完成。應用程式會開始建構,模擬器準備就緒後,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 偵錯功能:

  1. 在裝置上開啟「設定」,搜尋「關於手機」,輕觸「關於手機」,然後輕觸「版本號碼」七次。
  2. 返回上一頁 (「設定」/「系統」)。清單中會顯示「開發人員選項」。輕觸「開發人員選項」
  3. 選取「USB 偵錯」

步驟 2:在 Android 裝置上執行應用程式

現在,您可以透過 Android Studio 連結裝置,並執行應用程式。

  1. 使用 USB 傳輸線將 Android 裝置連接至您的開發機器。裝置上應會出現一個對話方塊,要求允許進行 USB 偵錯。


  2. 選取「Always allow」選項,即可記住這部電腦。接著輕觸「OK」
  3. 在電腦上,按一下 Android Studio 工具列中的「Run」按鈕 Android Studio 執行圖示。「Select Deployment Target」對話方塊隨即開啟,列出可用的模擬器和已連線的裝置。您應該會看到實體裝置和所有模擬器。


  4. 選取裝置,然後按一下「OK」。Android Studio 會在裝置上安裝並執行應用程式。

疑難排解

如果 Android Studio 無法辨識您的裝置,請嘗試下列做法:

  1. 拔除 USB 傳輸線,然後重新插入。
  2. 重新啟動 Android Studio。

如果電腦還是找不到裝置,或是宣告裝置「未經授權」,請按照下列步驟操作:

  1. 拔除 USB 傳輸線。
  2. 在裝置上開啟「設定」應用程式中的「開發人員選項」
  3. 輕觸「撤銷 USB 偵錯授權」
  4. 將裝置重新連接至電腦。
  5. 收到系統提示後,請同意授權。

您可能需要為裝置安裝適當的 USB 驅動程式。請參閱「在硬體裝置上執行應用程式」。

挑戰: 您已完成設定,並熟悉基本開發工作流程,現在請執行下列操作:

  1. 在 Android Studio 中建立新專案。
  2. 將「Hello World」問候語變更為「祝」和最近生日的人名。
  • 如要安裝 Android Studio,請前往 Android Studio,然後按照指示下載及安裝。
  • 如要在「Project」窗格中查看應用程式的 Android 階層,請按一下直向分頁欄中的「Project」分頁標籤。然後在頂端的下拉式選單中選取「Android」Android
  • 如要在專案中新增依附元件或變更依附元件版本,請編輯 build.gradle(Module:app) 檔案。
  • 應用程式的所有程式碼和資源都位於 appres 資料夾中。java 資料夾包含 Kotlin 或 Java 原始碼 (或兩者) 中的活動、測試和其他元件。res 資料夾包含版面配置、字串和圖片等資源。
  • 如要為 Android 應用程式新增功能、元件和權限,請編輯 AndroidManifest.xml 檔案。所有應用程式元件 (例如額外活動) 都必須在這個 XML 檔案中宣告。
  • 如要建立 Android 虛擬裝置 (模擬器) 來執行應用程式,請使用 AVD 管理工具
  • 如要使用 Android Studio 在實體 Android 裝置上執行應用程式,請在裝置上啟用 USB 偵錯功能。如要啟用這項功能,請依序開啟「設定」>「關於手機」,然後輕觸「版本號碼」七次。然後開啟「設定」 >「開發人員選項」,選取「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 Device Monitor
  • AVD Manager
  • SDK Manager
  • 主題編輯器

提交應用程式以供評分

請確認應用程式具備下列功能:

  • 在畫面上顯示「Hello World」的 Activity
  • 標題列顯示「My Dice Roller」。

開始下一個課程:1.2:基本應用程式剖析

如要查看本課程其他程式碼研究室的連結,請參閱 Android Kotlin 基礎知識程式碼研究室登陸頁面