快捷鍵設置
code glan 安裝
單Activity+多Fragment:
一個app僅有一個Activity,界面皆是Frament,Activity作為app容器使用。
優點:性能高,速度最快。參考:新版知乎 、google系app
fragment 懶加載
使用setUserVisiable
kotlin筆記
操作符
lateinit
lateinit 延遲初始化 只有var類型 不可為null的類型上使用
1、?:
左邊不為空的時候才執行右邊,左邊為null返回null
2、as? 安全轉換
使用as轉換時可能會classCastException,使用as?安全轉換,不成功返回null
3、:
類型和超類之間的冒號前要有一個空格
實例和類型之間的冒號前不要空格
4、is 類型判斷符
檢查某個實例是否為某個類型,如果屬于后面可以直接改類型不需要顯示轉換
5、..以及in 范圍操作符
檢查某個設置是否在指定區間
if(i in 1..10){? //等價于1《=i&&i<=10
````
}
downTo() 區間循環
for(i in 4 downTo 1){
}
step() 任意數量迭代
for(i 1..4 step 2) print(i) //print 13
for(i in 4 downTo 1 step 2) print(i) //print "42"
6、"""ooxx""" 多行輸入符
文本原樣保留,包括/n/t都會被保留
加載Fragment的時候onCreateView的savedInstanceState: Bundle 要加?不然為非空 出錯,華為手機很多錯誤都不打印出來,換模擬器就能看到錯誤信息
不能直接使用butterknife,有jack大神寫的Kotter Knife不過很久沒維護,可以直接使用kotlin的拓展import界面的xml就可以直接使用屬性,但是onclick的綁定還不知道怎么弄
在 Kotlin 中有這四個可見性修飾符:private、 protected、 internal 和 public。 如果沒有顯式指定修飾符的話,默認可見性是 public。
private 意味著只在這個類內部(包含其所有成員)可見;
protected—— 和 private一樣 + 在子類中可見。
internal —— 能見到類聲明的 本模塊內 的任何客戶端都可見其 internal 成員;
public —— 能見到類聲明的任何客戶端都可見其 public 成員。
在Fragment中使用擴展一直返回null,得通過view. name.text 這樣找 引入的也是xx.view.*? xml中include有layout的話 引入的文件也得是xxx.view.*