第一行代碼 Android(第三版)讀書筆記
第一章 開啟征程(概要)
- 項目結構與目錄:page 17 - page 19
- Log 方法與 Logcat 的完美結合
第二章 Kotlin 語法糖
同《Kotlin 學習筆記》一同食用效果最佳
- 《第一行》中出現的 Kotlin 特性預覽表
| 主次構造函數 | 參數默認值 | 鍵值對傳參 | 字符串內嵌表達式 |
|---|---|---|---|
| init {}, constructor () {} | fun xxx(str: String = "") {...} | xxx(str = "...") | "${value}" |
| let 函數式 API | Lambda 表達式 | 空指針檢查 | 函數式 API |
|---|---|---|---|
| obj.let {obj2 -> ...} | {para -> ...}, {it.toString()} | ? ?. !!. ?: | map.maxby {} //Lambda表達式 |
| 容器初始化 | 數據類 | 單例類 | 循環遍歷 |
|---|---|---|---|
| listOf(), mapOf(), setOf() | data | object | for-in, until, downTo, step, l...r, 容器遍歷 |
| 分支控制 | 條件控制 | "不變為先" | 訪問控制 |
|---|---|---|---|
| when () {... -> ...}, if-else 語句/表達式 | is (instanceof), else | val, var, open class | "public by default" |
第三章 Activity!所見即所得
-
創建 Activity
- 創建和加載布局文件 layout
- 在 AndroidManifest.xml 中注冊Activity
- 編寫 Activity.kt 代碼 (事件綁定,方法重寫等)
-
Activity 通信與切換
- Intent 類
- 顯式切換:
Intent(上下文, 指定Activity 的 Class 類) - 隱式切換:指定
actioncategory,目標將會按照注冊信息中的過濾條件響應 intent。- 過濾條件:
<category> <action> <data>
- 過濾條件:
- 傳參:
.putExtra(), .getStringExtra() - 啟動方式:
startActivity() //普通啟動startActivityForResult() //請求結果
- 顯式切換:
- Activity 類 Result 結果
- 設置結果:
setResult() - 取回結果:
override onActivityResult()
- 設置結果:
- Bundle 類
- 團隊合作時用伴生類“靜態方法”來啟動
- Intent 類
-
Activity 生命周期
-
返回棧
-
思維導圖

-
-
保存信息
- Bundle 類型
onSaveInstanceState(),var savedInstanceState
-
Activity 啟動模式
- standard 無檢查,直接壓棧
- singleTop 檢查棧頂
- singleTask 解棧恢復
- singleInstance 創建新棧
