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. 在「歡迎使用 Android Studio」對話方塊中,按一下 [建立新的 Android Studio 專案]

  3. 畫面上會顯示「選擇您的專案」對話方塊。請在下方選取 [空白活動],然後點選 [下一步]



    Activity 是使用者關注的單項項目。每個應用程式都必須有至少一個活動做為進入點。您可以將此進入點的活動視為其他程式中的 main() 函式。活動通常會有相關聯的版面配置,以定義使用者介面 (UI) 元素在螢幕上的呈現方式。Android Studio 提供多種 Activity 範本,可協助您輕鬆上手。
  4. 在「Configure your project」(設定專案) 對話方塊中,輸入「quoquo;HelloWorld」為「Name」(名稱)

  5. 接受「公司網域」的預設 android.example.com,或建立不重複的公司網域。這個值加上應用程式名稱就是您應用程式的套件名稱。如果您不打算發布應用程式,請接受預設值。您日後可以變更應用程式的套件名稱,不過這麼做是額外的作業。
  6. 確認您預設的「儲存位置」是您要儲存應用程式的位置;如果不是,請將位置變更為您偏好的目錄。
  7. 確認語言是 Kotlin。
  8. 確定最低 API 等級為 API 19:Android 4.4 (KitKat)。撰寫這個程式碼研究室時,Android Studio 表示在這個 API 級別中,該應用程式約有 95.3% 的裝置會執行應用程式。
    (如要進一步瞭解後續 API 級別的相關資訊,請參閱後續的程式碼研究室。如需瞭解詳情,請按一下 [讓我自己選擇],系統隨即會開啟一個視窗,其中提供 API 級別的相關資訊。)
  9. 勾選 [使用 AndroidX 成果] 核取方塊。
  10. 讓其他核取方塊全部清除,然後按一下 [完成]。如果專案需要您提供更多目標 SDK 的元件,Android Studio 會自動安裝這些元件,這可能需要一點時間。按照提示操作,並接受預設選項。

Android Studio 現在會建立您的專案,可能需要一些時間。您應該不會發生錯誤。如果出現任何警告,請予以忽略。

在這項工作中,您可以探索 Android Studio 中的 HelloWorld 專案,並瞭解使用 Android Studio 進行開發的基本概念。

步驟 1:探索專案窗格

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


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

步驟 2:探索應用程式資料夾

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

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



    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 程式碼和資源。這樣比較容易找到在應用程式使用者介面中使用的字串或圖示。此外,當您變更其中一個資源檔案時,檔案在應用程式中的所有位置都會受到變更。
  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. 請注意,<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>
  1. 請注意 <activity> 內的 <intent-filter> 元素。這個意圖篩選器中的 <action><category> 元素會告訴 Android,當使用者按一下啟動器圖示時,要在哪裡啟動應用程式。您可以在後續的程式碼研究室中進一步瞭解意圖篩選器。

AndroidManifest.xml 檔案也是您定義應用程式需要的權限。這些權限包括讓應用程式讀取手機聯絡人、透過網際網路傳送資料,或是存取裝置的相機等硬體設備。

Gradle 是一個建構自動化系統,可透過特定領域語言來描述應用程式的專案結構、配置和依附元件。編譯及執行應用程式時,您會看到 Gradle 建構執行的相關資訊。您也會看到已安裝的 Android Package Kit (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 模擬器上執行應用程式

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

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

  1. 在 Android Studio 中,選取 [Tools > AVD Manager],或按一下工具列中的「AVD Manager」圖示 AVD 管理員圖示。系統隨即會顯示「您的虛擬裝置」對話方塊。如果您已建立虛擬裝置,對話方塊就會顯示這類裝置 (如下圖所示),否則您會看到空白清單。

    Android 虛擬裝置 (AVD) 管理員,顯示已建立的虛擬裝置清單
  2. 按一下對話方塊左下方的 [+ 建立虛擬裝置]。「選取硬體」對話方塊隨即顯示,顯示預先設定的硬體裝置清單。表格會針對每個裝置提供一個對角線顯示大小 (大小)、像素解析度 (像素) 與像素密度 (密度)。

    選取硬體裝置
  3. 選取裝置 (例如 [Nexus 5x] 或 [Pixel XL]),然後點選 [下一步]。系統隨即顯示「系統映像檔」對話方塊。
  4. 按一下 [推薦] 分頁標籤,然後選擇要在虛擬裝置上執行的 Android 系統版本 (例如「派餅」)。


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

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

在這項工作中,您最後會執行新的應用程式。

  1. 在 Android Studio 中,選取 [Run > Run app],或點選工具列中的「Run」圖示 。系統隨即顯示「Select Deployment Target」對話方塊,並向您說明沒有可用的裝置。如果您尚未在開發電腦中連線實體裝置,或是尚未啟動虛擬裝置,系統就會顯示這則警告。
  2. 在「選取部署作業目標」對話方塊中的「可用的虛擬裝置」底下,選取您建立的虛擬裝置。按一下 [確定]。



    模擬器就像實體裝置一樣,會啟動及啟動裝置。視電腦速度而定,整個過程可能需要一些時間。您的應用程式在建置中,當模擬工具準備就緒後,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 工具列中的 [執行] 按鈕 Android Studio 執行圖示。「選取部署目標」對話方塊隨即開啟,其中包含可用的模擬器清單和已連線的裝置清單。你應該會看到自己的實體裝置和所有模擬器。


  4. 選取您的裝置,然後按一下 [OK] (確定)。Android Studio 會在裝置上安裝並執行應用程式。

疑難排解

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

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

如果您的電腦仍然找不到裝置,或宣告裝置「未獲授權」,請按照下列步驟操作:

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

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

挑戰:現在您已設定好並熟悉基本開發工作流程,您可以採取下列做法:

  1. 在 Android Studio 中建立新專案。
  2. 將「你好世界」問候語「問候語」為「生日快樂」,以及最近生日的人。
  • 如要安裝 Android Studio,請前往 Android Studio,然後按照操作說明下載並安裝。
  • 如要在「專案」窗格中查看應用程式的 Android 階層,請按一下垂直標籤欄中的 [專案] 分頁標籤。然後在頂端的下拉式選單中選取 [Android]
  • 當您需要為專案新增依附元件或變更依附元件版本時,請編輯 build.gradle(Module:app) 檔案。
  • 應用程式的所有程式碼和資源都位於 appres 資料夾中。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
  • 標題列顯示「我的骰子滾珠」。

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

如要瞭解本課程中其他程式碼研究室的連結,請參閱 Android Kotlin 基礎程式碼程式碼到達網頁