Java 入門指南

單元 26 - 認識 Android App 開發

~~學習進度表~~

想要開發 Android App 就要先認識 Android 的版本,目前 Android Studio 3.5.3 支援開發以下的 Android 版本

API 14: Android 4.0 (IceCreamSandwish)
API 15: Android 4.0.3 (IceCreamSandwish)
API 16: Android 4.1 (Jelly Bean)
API 17: Android 4.2 (Jelly Bean)
API 18: Android 4.3 (Jelly Bean)
API 19: Android 4.4 (KitKat)
API 20: Android 4.4W (KitKat Wear)
API 21: Android 5.0 (Lollipop)
API 22: Android 5.1 (Lollipop)
API 23: Android 6.0 (Marshmallow)
API 24: Android 7.0 (Nougat)
API 25: Android 7..1.1 (Nougat)
API 26: Android 8.0 (Oreo)
API 27: Android 8.1 (Oreo)
API 28: Android 9.0 (Pie)
API 29: Android 10.0 (Q)

Android Studio 預設支援到現階段的最高版本,然後需要自己設定支援到的最低版本,基本上最低版本就是目前還有一定比例的使用版本,開發時需注意,有些功能可能只在較高版本才有支援,因此像是選擇 API 29 為最低版本的話,包含 API 28 之前的使用者便無法安裝。

依目前 Google Play Console 的統計,使用最低版本 4.0 來開發的話可涵蓋約 96.67% 的裝置數,也就是 Android 手機的種類量,因此需要慎選最低版本,另外若要逐年支援最高版本的話,每一年至少需要發布一次更新。

繼續看到 Android 專案 (project) 的檔案組織,以下列出下一篇的專案組織,紅字的部分是會修改或是增加的檔案

📁app
--📁src
----📁androidTest
----📁main
------📁java
--------📁org
----------📁kaiching
------------📁encryptandroid
--------------EncodeActivity.java
--------------Encrypt.java
--------------MainActivity.java
------📁res
--------📁drawable
--------📁drawable-v24
--------📁layout
----------activity_encode.xml
----------activity_main.xml
--------📁mipmap-anydpi-v26
--------📁mipmap-hdpi
--------📁mipmap-mdpi
--------📁mipmap-xhdpi
--------📁mipmap-xxhdpi
--------📁mipmap-xxxhdpi
--------📁values
----------colors.xml
----------strings.xml
----------styles.xml
------AnroidMainifest.xml
----📁test

Java 程式放在 app/src/main/java/org/kaiching/encryptandroid 的路徑,其中 org/kaiching/encryptandroid 就是套件 (package) 名稱。

介面檔案放在 app/src/main/res/layout 的路徑,由於製作兩頁式的 App ,因此有兩個介面的 XML 檔案。

另外在 app/src/main/res/values 路徑內的三個 XML 檔案,其中 strings.xml 用來設定 App 通用的字串 (style) , styles.xml 則是設定樣式,預計會移除 App 的標題列。

最底下紅字的 AnroidMainifest.xml ,這是關於整個 App 的設定,由於改樣式,因此這個檔案也會做調整。

📁res 底下以 mipmap- 開頭的幾個資料夾是用來放 App 圖示的資料夾,我們會用 Android Studio 裡頭內附的 Image Asset Studio 自動製作圖示,因此不需要煩惱裡頭的內容。

如果要放資源檔案,例如圖片檔案,習慣上是在 📁main 底下新增 📁assets 資料夾,或是放在 📁drawable 資料夾中。

了解 Android 版本及專案組之後,接下來就進入 Android 開發篇囉!

相關教學影片

上一頁 單元 25 - 完成版的 JavaFX 專案
回 Java 入門指南首頁
下一頁 Android App 篇
回 Java 教材首頁
回程式語言教材首頁
中英文術語對照
package套件
project專案
style字串
參考資料
1. Android Developers | Developer Guides
2. Android Developers | Application Fundamentals
3. Android Developers | Build your first app
4. Android Developers | App resources overview
重點整理
1. 目前 Android Studio 3.5.3 支援開發從 API 14 到 API 29 ,也就是從 Android 4.0 到 10.0 。
2. Android 專案中需要修改或增加的檔案放在 📁main 底下, 📁java 放程式檔案, 📁res 放設定用的 XML 檔案。
問題與討論
1. 為什麼開發 Android App 要設定 Android 的版本?
2. 資源檔案應該要放在 📁drawable ,還是自行新增 📁assets
練習
1. 承接上一個單元的 HelloDemo 專案,在 handleButtonAction() 方法中,當 count 除以 2 的餘數為 0 時,將 button 的文字設定為 "點我" ,反之設定為 "再點"
2. 承接上一個單元的 GuessGameDemo 專案,設計 gameResult() 方法,這個方法要先檢查數字是否有重複,再來檢查是否猜動,如果猜對就顯示猜對,猜錯就顯示幾 A 幾 B 。
3. 承上題,想一想使用者介面的元件,例如 <Button><TextArea> 該怎麼在遊戲進行中跟使用者互動。
4. 承上題,想一想,還可以怎麼優化這個遊戲。