Java 使用导入的Android Studio
当我第一次将以下代码放入我的Java 使用导入的Android Studio,java,android,android-camera,Java,Android,Android Camera,当我第一次将以下代码放入我的Android Studio时,它突出显示了许多错误: import java.util.List; public void enableAutofocus() { camera = camera.open(); Camera.Parameters parameters = camera.getParameters(); List<String> focusModes = parameters.getSupportedFocusM
Android Studio
时,它突出显示了许多错误:
import java.util.List;
public void enableAutofocus()
{
camera = camera.open();
Camera.Parameters parameters = camera.getParameters();
List<String> focusModes = parameters.getSupportedFocusModes();
if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
{
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
}
camera.setParameters(parameters);
}
但是很快,小写的camera
s现在有了红色下划线
我意识到Camera
界面已被弃用,因此我为新应用程序添加了新的android.hardware.camera2
API:
import android.hardware.camera2;
但是现在,除了摄像机
代码外,所有的对焦代码都再次高亮显示错误
我错过了什么
如果将所有
摄像头。
实例替换为android.hardware.Camera。
,所有错误都将消失。该类仍然不推荐使用,但它可能会工作
示例固定代码:
android.hardware.Camera camera = android.hardware.Camera.open();
如果您想了解camera2的实现,您可能想看看
.谢谢。我这样做了,但从图片(编辑的问题)中可以看出,我仍然划掉了位和红色位。您能进一步帮助我吗?当您将
camera.open()
分配给变量camera
时,您忘记声明类型。因此,只需在该行前面添加android.hardware.Camera
。最终结果将类似于android.hardware.Camera=Camera.open()代码>。谢谢。它仍然划掉了我的相机
,所以我想知道这是否只是一个警告,告诉我它已被弃用,还是一个错误?应用程序APK生成并运行,但如何确定它是否访问了摄像头?IDE会警告您使用不推荐的类是错误的,但不会因此出错。不过,如果你考虑改用camera2,那也不是个坏主意。我不确定在使用模拟器时如何确定是否正在访问摄像头。我建议在实际的android手机上试用该应用程序。你可以找到在哪里做。
android.hardware.Camera camera = android.hardware.Camera.open();