Android Studio 学习实例记录-手电筒

本文记录了使用Android Studio开发手电筒APP的完整过程,从新建项目到布局设计,再到源码实现和解决问题。在布局阶段遇到了组件约束错误,通过设置约束解决。MainActivity.java中引用了源码,同时在AndroidManifest.xml中添加权限。在调试过程中,解决了AAPT2错误、组件ID找不到、抽象方法未覆盖等问题,最终成功实现了手电筒功能。但界面设计仍有优化空间。
摘要由CSDN通过智能技术生成

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" />


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值