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();