Android Studio 学习实例记录-手电筒
刚安装好Android Studio3.1.2,上网搜了一个实例进行实践学习,仅用这篇文章来记录学习过程
MainActivity.java的源码来自博客:
https://blog.csdn.net/Frakie_Kwok/article/details/66973695
一、在Android studio上建立一个新的工程
File-New-New Project
Next,
next,选择empty activity
Next,
点击Finish,工程建立完成
二、布局页面
进入app-res-layout-activity_main.xml文件
选择可视界面
当时我点击了Design之后,可视界面里面没有任何显示,这个问题和API level有关,解决方法参考我另外一篇博客:
https://blog.csdn.net/ficey/article/details/80351933
可视界面能正常显示之后,删除默认的textview控件,右键删除
然后添加一个button控件和一个toggle button控件,直接选中button和toggle butto拖拽到图上就行
注意,这两个控件拖拽到图上之后,
button和toggle button后面的标注会是一个红色的感叹号,鼠标放在感叹号上它会提示说:This view is not constrained, it only has designtime positions, so it will jump to (0,0)...
这里报错的意思是说:这个view没有被约束,他只有设计时的位置,所以他将会跳到(0,0),除非你添加约束。也就是说组件没有锁定,可能会导致重合。所有的组件都不重叠
button控件后面标注为红色感叹号,控件提示view is not constrained...的解决方法:
1、对于Android studio3.0以前的版本,在Design中,对着活动点击右键,选择Constraint Layout----->Infer Constraints
2、对于Android studio 3.1.2版本,点击图上的这个魔法棒,也就是infer constraints工具
然后就可以看到红色感叹号的标注消失了,修改成功。
三、在MainActivity.java中添加源码
按照文章开头提到的博客地址,将源码添加到MainActivity.java中
四、添加权限
在AndroidManifest.xml添加调用摄像头的权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.wd.flashlight">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.Camera" />
<uses-feature android:name="android.hardware.camera2" />
<uses-feature android:name="android.hardware.camera2.CameraManager" />