本書介紹如何使用 kotlin 來撰寫 Android App。
Google 早就計畫將 Java 從 Android 的專案中除去,除了商業考量外,還是為了利益。
kotlin 語法簡潔便利,使用 Java 開發 Android App 只會累死你自已而以。
環境安裝
Android 12 已擺脫 Oracle Java 的付費版本,直接安裝 Open Jdk 即可運行,請參照 kotlin 的環境安裝。然後到 http://developer.android.com 下載Android Studio進行安裝。安裝時,一直按下一步即可,無需勾選任何選項。
Android Studio Bug
若以前有安裝過舊版的 Android Studio,開啟新版 Android Studio 時會自動開啟上一次的專案,然後彈出沒有相關的 SDK 的錯誤訊息。此時就算進入 Tools/SDK Manager,SDK 一樣安裝不起來,這是 Android Studio 的 Bug。
解決的方式為 File/Close 將專案關閉,然後再重啟 Android Studio,再進行如下的 SDK 安裝。
第一次啟動
安裝完成後,會自動啟動Android Studio, 然後需花一點時間下載emulator模擬器及一般sdk。再選擇Create New Project,
再選取 Empty Views Activity
接下來可就重要了
Name : 為整個專案的名稱
Package name : 一定要先把自已的網域倒著寫,再加 “.”及專案名稱小寫。沒網址的人到 no-ip申請。
Save location : 儲存位置,請不要使用預設的位置,不然自已也找不到
Language : 廢話,沒人在用 Java 啦,一定要選 Kotlin
Minimum SDK : 選Android 5.0,因為 5.0之前的大概都作古了
AVD
AVD全名為 Android Virtual Device,也就是Android手機模擬器啦,請由tools/AVD Manager/Create Virtual Device建立一個新的模擬手機。本人比較常選的是 Nexus 5X,因為Nexus才有Google Play。然後執行後就可以出現手機的視窗了
個人感覺啦,這個AVD比市面上常見的夜神,Blue Stack, LD這些模擬器還穩定,只是啟動速度慢了點
路徑設定
Android SD裏有一個常用到的程式,叫 adb, 所以需先把路徑設定好。請將
C:\Users\登入帳號\AppData\Local\Android\Sdk\platform-tools設定到系統Path變數中
此時就可以在Dos模式下輸入
adb devices
adb devices可以列出與電腦連線的手機,下圖紅色的區域,為手機的序號,盡是不要讓別人知道。
如果有出現 offline,表示手機沒有切換到 MTP模式,請重新插入usb線,並指定MTP模式
Android Studio 4.2
將Android Studio 更新為 4.2的版本後,開啟新專案會出現
“Could not resolve org.jetbrains.kotlin-gradle-plugin:1.5.0-release-764” 的bug.
解決這個很簡單,只要開啟build.gradle(Project),將 ext.kotlin_version改成1.4.32即可。
buildscript {
ext.kotlin_version ="1.5.0-release-764"改成"1.4.32"
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
adb常用指令
adb device : 取得序號,查看是否與電腦連線
adb kill-server : 關閉adb daemon
adb start-server : 開啟adb daemon
adb logcat : 查看手機log
adb shell : 進入手機Linux shell
adb install xxx.apk : 安裝apk
adb uninstall package_name : 移除apk
adb shell input keyevent keycode : 輸入字串到手機
input keyevent 若想在小米手機操作,必需進入手機的開發者模式,把USB偵錯(安全設定)打開。
常用的keycode碼如下
00 -> “KEYCODE_UNKNOWN”
01 -> “KEYCODE_MENU”
02 -> “KEYCODE_SOFT_RIGHT”
03 -> “KEYCODE_HOME”
04 -> “KEYCODE_BACK”
05 -> “KEYCODE_CALL”
06 -> “KEYCODE_ENDCALL”
07 -> “KEYCODE_0”
08 -> “KEYCODE_1”
09 -> “KEYCODE_2”
10 -> “KEYCODE_3”
11 -> “KEYCODE_4”
12 -? “KEYCODE_5”
13 -> “KEYCODE_6”
14 -> “KEYCODE_7”
15 -> “KEYCODE_8”
16 -> “KEYCODE_9”
17 -> “KEYCODE_STAR”
18 -> “KEYCODE_POUND”
19 -> “KEYCODE_DPAD_UP”
20 -> “KEYCODE_DPAD_DOWN”
21 -> “KEYCODE_DPAD_LEFT”
22 -> “KEYCODE_DPAD_RIGHT”
23 -> “KEYCODE_DPAD_CENTER”
24 -> “KEYCODE_VOLUME_UP”
25 -> “KEYCODE_VOLUME_DOWN”
26 -> “KEYCODE_POWER”
27 -> “KEYCODE_CAMERA”
28 -> “KEYCODE_CLEAR”
29 -> “KEYCODE_A”
30 -> “KEYCODE_B”