android studio环境下一个疑问

daviddivad 2020-08-10 10:03:00
打开其他人写的工程,发现如下一些申明,有些看不懂:
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,类似这样的,为啥后面有个问号?
...全文
3265 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
初学者-Study 2020-08-11
  • 打赏
  • 举报
回复
1.升级Camera2只能自己做,在Camera2中舍弃了Camera中的一些方法,并且加了一些新的方法。
2.DeviceInfo? = null , ? 表示可空引用,不加的话就要在调用的时候做判断才行,Kotlin是空安全的,如果DeviceInfo为空引用,直接返回null,否则,就返回DeviceInfo.length。
闫文敬 2020-08-10
  • 打赏
  • 举报
回复
不需要升级Camera2
闫文敬 2020-08-10
  • 打赏
  • 举报
回复
这个是使用kotlin开发的
ink_s 2020-08-10
  • 打赏
  • 举报
回复
camera和Camera2不一样了,应该不可以直接一键替换,需要修改代码。
ink_s 2020-08-10
  • 打赏
  • 举报
回复
DeviceInfo? = null,类似这样的,为啥后面有个问号? 没见过这样的写法,看着像三目运算,但没见过这样的 if(a<b) min=a; else min=b; 可以用下面的条件运算符来处理 min=(a<b)?a:b;
ink_s 2020-08-10
  • 打赏
  • 举报
回复
过时的方法,但是可以用
daviddivad 2020-08-10
  • 打赏
  • 举报
回复
是的,是用kotlin开发的,那种有?的写法,是kotlin的写法?,另外,不需要升级camera2,是表示虽然强烈不推荐,但是还是可以用的是吧?

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧