打開其他人寫的工程,發現如下一些申明,有些看不懂:
private var camera: Camera? = null
private var holder: SurfaceHolder? = null
private var previewRunning = false //標識是否正在預覽中
private var deviceInfo: DeviceInfo? = null
private var timeMinuteChangeReceiver: TimeMinuteChangeReceiver? = null
private var netBroadcastReceiver: NetBroadcastReceiver? = null
1、一個是camera中間被劃了橫線,好像是版本升級后,camera控制元件不推薦使用,換成Camera2,那涉及到的相關攝像頭的都要做camera2?有沒有比較快的升級方式。
2、DeviceInfo? = null,類似這樣的,為啥后面有個問號?
uj5u.com熱心網友回復:
DeviceInfo? = null,類似這樣的,為啥后面有個問號? 沒見過這樣的寫法,看著像三目運算,但沒見過這樣的if(a<b)
min=a;
else
min=b;
可以用下面的條件運算子來處理
min=(a<b)?a:b;
uj5u.com熱心網友回復:
camera和Camera2不一樣了,應該不可以直接一鍵替換,需要修改代碼。uj5u.com熱心網友回復:
這個是使用kotlin開發的uj5u.com熱心網友回復:
不需要升級Camera2uj5u.com熱心網友回復:
是的,是用kotlin開發的,那種有?的寫法,是kotlin的寫法?,另外,不需要升級camera2,是表示雖然強烈不推薦,但是還是可以用的是吧?uj5u.com熱心網友回復:
過時的方法,但是可以用uj5u.com熱心網友回復:
1.升級Camera2只能自己做,在Camera2中舍棄了Camera中的一些方法,并且加了一些新的方法。2.DeviceInfo? = null , ? 表示可空參考,不加的話就要在呼叫的時候做判斷才行,Kotlin是空安全的,如果DeviceInfo為空參考,直接回傳null,否則,就回傳DeviceInfo.length。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/13877.html
標籤:Android
