Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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 Android摄像头示例_Java_Android_Camera - Fatal编程技术网

Java Android摄像头示例

Java Android摄像头示例,java,android,camera,Java,Android,Camera,我正在开发android摄像头应用程序,我找到了一个代码: 但我面临着两个我无法理解的问题。第一个是在这一部分: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutPa

我正在开发android摄像头应用程序,我找到了一个代码:

但我面临着两个我无法理解的问题。第一个是在这一部分:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    myContext = this;
    initialize();
}
事实上,我不明白什么是initialize(),它的用途是什么?我找过了,但什么也没找到

第二个问题在这一部分:

public void onResume() {
    super.onResume();

    if (!hasCamera(myContext)) {

        Toast toast = Toast.makeText(myContext, "Sorry, your phone does not have a camera!", Toast.LENGTH_LONG);
        toast.show();
        finish();
    }
    if (mCamera == null) {

        //if the front facing camera does not exist

        if (findFrontFacingCamera()  1) {

            //release the old camera instance

            //switch camera, from the front and the back and vice versa

            releaseCamera();
            chooseCamera();

        } else {
            Toast toast = Toast.makeText(myContext, "Sorry, your phone has only one camera!", Toast.LENGTH_LONG);
            toast.show();
        }
    }
};
我不明白这个表达式:
if(findFrontFacingCamera()1)。
因为
findFrontFacingCamera()
不是
boolean
,1中有问题

initialize()
确保您的相机已初始化

不理解以下表达式:if(findFrontFacingCamera()1)。 因为findFrontFacingCamera()不是布尔值,并且 1!

在这种情况下,当您尝试查找摄像头时(设备上通常有两个摄像头,但在某些情况下只有后部或前部摄像头)
因此,“1”标志意味着您要选择第二个摄像头,而“0”将选择第一个(通常是后部)摄像头

本教程中存在拼写错误和遗漏。每个下载项目的onResume是

super.onResume();
    if (!hasCamera(myContext)) {
        Toast toast = Toast.makeText(myContext, "Sorry, your phone does not have a camera!", Toast.LENGTH_LONG);
        toast.show();
        finish();
    }
    if (mCamera == null) {
        if (findFrontFacingCamera() < 0) {
            Toast.makeText(this, "No front facing camera found.", Toast.LENGTH_LONG).show();
            switchCamera.setVisibility(View.GONE);
        }
        mCamera = Camera.open(findBackFacingCamera());
        mPicture = getPictureCallback();
        mPreview.refreshCamera(mCamera);
    }

我相信这是一个打字错误??在评论行中

//if the front facing camera does not exist 
在if条件之前,我可以看到需要进行以下更改。 换线

if (findFrontFacingCamera() 1) 

正如我在示例中看到的,这是一个返回相机id的方法

请注意,对于前向摄像头id=1和后向摄像头,其值为0。

但当我写入initialize()时,eclipse表示它未定义,并给出错误!
if (findFrontFacingCamera() 1) 
if (findFrontFacingCamera()== -1)