Android Basics in Kotlin - Unit 1: Kotlin basics for Android
Kotlin 簡介
- 所有Kotlin程序都需要有一個 main() 函數
- println()
- 程式註解:
- 宣告變數
- 唯讀變數
- 使用 val 進行宣告,例如: val age=34,宣告完成後僅能讀取此變數不得更改其值。
- 一般變數
- 使用 var 進行宣告,例如:var age=34 。
- 整數
- IntRange整數範圍
- 可呼叫其random()方法產生範圍內亂數
- 例如:(1..6).random() 可產生1~6間的整數亂數
- 字串
- 需用雙引號括住,例如"Hello"。
- 在字串中輸出變數時須使用${},例如:Hello, ${someone_name}。
- 函數
- 宣告
- fun function_name(parameter1:Int=15, parameter2:Int) {}
- 回傳
- 函數定義中可以指定要回傳值的型別,並使用return來回傳內容。例如:fun example(): Int { return 5 }
- 迴圈
- repeat() {}
- repeat (23) { print("%") }
- 流程控制
- If條件式,當()中的條件為真實執行{}內的程式碼。
- if (condition is true){
execute something
} else if (condition is true){
execute something
} else {
execute something
}
- When條件式,類似其他語言中的switch,但比較特別的是 1. 可以將多個值對應到同一動作 2. 可以直接比對變數型別 3. 可以指定範圍作比對
- when(variable){
value1 -> execute something
value2, value3 -> execute something
valueN -> execute something
is typeA -> execute something
in X..Z ->execute something
!in A..C ->execute something
else -> execute something
}
- 類別(Class)
- Class就像是物件的設計圖,可具有屬性(變數)和行為(函數)
- Instance 是 Class 的實體物件,可調用其函數或更改屬性。
- 創建 Instance 時,可以提供參數。例如:class Dice(val numSides: Int),然後透過Dice(6)創建Instance。
Android studio 中的第一個程序
- 創建新專案
- 點擊 Start a new Android Studio Project→為專案命名→選擇模板→填寫相關資訊。
- 開啟虛擬設備
- 點擊 Tools頁籤→ AVD Manager→選擇硬體設備與系統映像檔。
- 執行應用程式
- 確保已建立虛擬設備→選擇該設備→點擊工具欄上的執行按鈕。
- 尋找專案文件路徑
- 在Project視窗中點選下拉式選單→選擇Project Source Files。
- activity_main.xml 為APP佈局相關的檔案。
- MainActivity.kt 為提供主要畫面的元件檔案。
- Ctrl+Alt+L
建立基本Layout
- Layout Editor
- 協助開發人員設計 Android 應用程式的介面。
- Resource Manager
- View
- APP顯示在裝置螢幕畫面上的介面元素幾乎都屬於此。
- Textview
- APP中顯示文字的介面元素,開發人員可以調整其字體、大小與顏色…等屬性。
- 顯示文字應設定為字串資源再從中提取,以利翻譯與重複使用。
- ConstraintLayout
- 存放其他介面元素的容器。
- 放置在其中的Views皆需設定水平與垂直方向的限制,例如介面元素間的距離或其與所屬容器的邊界限制。
- ImageView
- 用於顯示圖像的介面元素。
- 屬性 [內容描述] 應透過 imageview..contentDescription() 填入資訊,以符合無障礙設計 (螢幕閱讀器的朗讀功能)。
- Toast
擲骰子App
- 與物件進行互動前須先透過物件ID建立連結。
- 例如:創建變數Button_A去連結ID為buttonid的按鈕
- val Button_A: Button = findViewById(R.id.buttonid)
- 監聽物件的點擊行為
- Button_A.setOnClickListener {
execute something
}
- 將 ID 為 imageid 的 Imageview 內容設定為圖片 image_source_name
- val Image_A: ImageView = findViewById(R.id.imageid)
Image_A.setImageResource(image_source_name)
沒有留言:
張貼留言