所以我一直在努力为这个学校项目制作相机应用程序。我对编码很新,我对Java并不是很了解。我决定使用Furgle的CameraKit库来帮助我。他们说我要做的就是包括
package com.zonal.regionview;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.AnalogClock;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Allocate a RegionView.
final RegionView lRegionView = new RegionView(this);
// Add some example items to drag.
lRegionView.addView(new AnalogClock(this));
lRegionView.addView(new AnalogClock(this));
lRegionView.addView(new AnalogClock(this));
// Assert that we only want to drag Views within the confines of the RegionView.
lRegionView.setWrapContent(true);
// Assert that after we've finished scaling a View, we want to stop being able to drag it until a new drag is started.
lRegionView.setDropOnScale(true);
// Look at the RegionView.
this.setContentView(lRegionView);
}
}
和
original_int = 21110
forward_str = str(original_int)
reverse_str = ''
for char in forward_str:
reverse_str = char + reverse_str
print(reverse_str)
我应该能够在尝试创建时启动和停止相机预览。 但是,当我将此代码添加到我的主要活动时,我得到了以下内容:
非静态方法'stop()'/'start()'不能从静态上下文引用
我尝试了一些尝试创建类的对象并从中调用方法的事情(我不完全确定我说的是否正确)
protected void onResume() {
super.onResume();
CameraView.start();
当我尝试运行时,我得到:
无法解析构造函数CameraView()
我还尝试创建名为“CameraView”的类的实例,这是方法“start();”和“停止();”是。遗憾的是,我无法随心所欲。
关键是我尝试了所有我能理解的东西,但任何帮助都会非常感激。
在查看库的代码之后,我看到CameraView类中的start方法或stop方法都没有声明为“static”。所以我真的没有看到问题的来源以及如何克服它
答案 0 :(得分:3)
假设您正在关注的教程是https://github.com/gogopop/CameraKit-Android#usage ...
当他们说“你需要做的所有事情”时,请添加以下代码:
@Override
protected void onResume() {
super.onResume();
cameraView.start();
}
@Override
protected void onPause() {
cameraView.stop();
super.onPause();
}
他们正在与经验丰富的开发人员交流。他们遗漏的部分是 cameraView
来自哪里?
嗯,第一步是在您的布局中加入<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();
}
}