Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在静态上下文中从调用非静态方法_Java_Android_Object_Static - Fatal编程技术网

Java 在静态上下文中从调用非静态方法

Java 在静态上下文中从调用非静态方法,java,android,object,static,Java,Android,Object,Static,很抱歉问了这么长的问题,但我真的需要帮助 所以我一直在尝试为我的这个学校项目制作一个摄像头应用程序。一般来说,我对编码非常陌生,对Java也不太了解。我决定使用Forgle的CameraKit库来帮助我解决这个问题。他们说我所要做的就是包括 protected void onResume() { super.onResume(); CameraView.start(); 及 我应该能够启动和停止我试图创建的相机预览。 但是,当我将此代码添加到我的主要活动中时,我得到了以下结果

很抱歉问了这么长的问题,但我真的需要帮助

所以我一直在尝试为我的这个学校项目制作一个摄像头应用程序。一般来说,我对编码非常陌生,对Java也不太了解。我决定使用Forgle的CameraKit库来帮助我解决这个问题。他们说我所要做的就是包括

 protected void onResume() {
    super.onResume();
    CameraView.start();

我应该能够启动和停止我试图创建的相机预览。 但是,当我将此代码添加到我的主要活动中时,我得到了以下结果:

无法从静态上下文引用非静态方法“stop()”/“start()”

我尝试过一些事情,比如尝试创建类的对象并从中调用方法(我不完全确定我说的对不对)

当我尝试运行时,我得到:

无法解析构造函数CameraView()

我还尝试创建名为“CameraView”的类的实例,该类是方法“start();”和“stop();”的所在。遗憾的是,我没能做到这一点

关键是我尽了我所能理解的一切,但任何帮助都将不胜感激


在查看库的代码之后,我发现CameraView类中的start方法和stop方法都没有声明为“static”。所以我真的不知道这个问题是从哪里来的,也不知道如何克服它

假设您正在学习的教程就是这个

当他们说“你所要做的就是”添加以下代码时:

@Override
protected void onResume() {
    super.onResume();
    cameraView.start();
}

@Override
protected void onPause() {
    cameraView.stop();
    super.onPause();
}
他们正在与更有经验的开发人员交谈。他们遗漏的部分是cameraView来自哪里?

第一步是在布局中包含
。但即使在这之后,您也需要找到它并将其分配给
cameraView
变量。所以,你真的需要这些:

public class MainActivity extends AppCompatActivity {

    private CameraView cameraView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // `activity_main.xml` must have a `<CameraView>` tag with id `camera`
        cameraView = (CameraView) findViewById(R.id.camera);
    }

    @Override
    protected void onResume() {
        super.onResume();
        cameraView.start();
    }

    @Override
    protected void onPause() {
        cameraView.stop();
        super.onPause();
    }
}
public类MainActivity扩展了AppCompatActivity{
私人摄影师;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);/`activity_main.xml`必须有一个id为`camera`的`tag`
cameraView=(cameraView)findViewById(R.id.camera);
}
@凌驾
受保护的void onResume(){
super.onResume();
cameraView.start();
}
@凌驾
受保护的void onPause(){
cameraView.stop();
super.onPause();
}
}

假设您正在学习的教程是本教程

当他们说“你所要做的就是”添加以下代码时:

@Override
protected void onResume() {
    super.onResume();
    cameraView.start();
}

@Override
protected void onPause() {
    cameraView.stop();
    super.onPause();
}
他们正在与更有经验的开发人员交谈。他们遗漏的部分是cameraView来自哪里?

第一步是在布局中包含
。但即使在这之后,您也需要找到它并将其分配给
cameraView
变量。所以,你真的需要这些:

public class MainActivity extends AppCompatActivity {

    private CameraView cameraView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // `activity_main.xml` must have a `<CameraView>` tag with id `camera`
        cameraView = (CameraView) findViewById(R.id.camera);
    }

    @Override
    protected void onResume() {
        super.onResume();
        cameraView.start();
    }

    @Override
    protected void onPause() {
        cameraView.stop();
        super.onPause();
    }
}
public类MainActivity扩展了AppCompatActivity{
私人摄影师;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);/`activity_main.xml`必须有一个id为`camera`的`tag`
cameraView=(cameraView)findViewById(R.id.camera);
}
@凌驾
受保护的void onResume(){
super.onResume();
cameraView.start();
}
@凌驾
受保护的void onPause(){
cameraView.stop();
super.onPause();
}
}

您应该阅读帮助代码。如您所见,您必须在…\app\src\main\res\layout\u layout\u file.xml中创建一个视图。您应该阅读帮助代码。如您所见,您必须在…\app\src\main\res\layout\u layout\u file.xml中创建一个视图。非常感谢Ben!非常感谢!非常感谢你,本!非常感谢!