проблема с учебником - PullRequest
       0

проблема с учебником

1 голос
/ 11 февраля 2012

Я пробую этот урок: http://www.devx.com/wireless/Article/42482/1954, но, похоже, есть проблема со строкой, которая говорит:

catch (Throwable ){ } 

выдает ошибку:

Syntax error on token "Throwable", VariableDeclaratorId expected after this token

Код:

        package com.ARtest;

        import android.content.Context;
        import android.graphics.Camera;
        import android.view.SurfaceHolder;
        import android.view.SurfaceView;

        public class CustomCameraView extends SurfaceView
        {
            Camera camera;
            SurfaceHolder previewHolder;
            SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback() {
        public void surfaceCreated(SurfaceHolder holder) {
        camera=Camera.open();
        try {
        camera.setPreviewDisplay(previewHolder);
        }
        catch (Throwable ){ }
        }
        public void surfaceChanged(SurfaceHolder holder, int format, int width,
        int height)
        {
        Parameters params = camera.getParameters();
        params.setPreviewSize(w, h);
        params.setPictureFormat(PixelFormat.JPEG);
        camera.setParameters(params);
        camera.startPreview();
        }
        public void surfaceDestroyed(SurfaceHolder arg0)
        {
        camera.stopPreview();
        camera.release();
        }
        };
    //constructor
    public CustomCameraView(Context ctx)
    {
        super(ctx);
        previewHolder = this.getHolder();
        previewHolder.setType
        (SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        previewHolder.addCallback(surfaceHolderListener);
    }


};

1 Ответ

2 голосов
/ 11 февраля 2012

Throwable должен иметь имя после, так как это объект.Просто измените «Throwable» на что-то вроде «Throwable e».VariableDeclaratorId означает, что объект является безымянным, как если бы вы не создавали экземпляр String как

private String = "this will not work";

На ваш второй вопрос, классы не требуют; 'в конце их.Обычно, если есть закрывающая скобка, вам не нужен;после него.

Трудно исправить!Вы, вероятно, вставили это в затмение, и оно автоматически импортировало graphics.camera.Измените этот импорт на hardware.camera и попробуйте.Кроме того, измените

params.setPreviewSize(w, h); 

на

params.setPreviewSize(width, height);

Также добавьте импорт

import android.hardware.Camera.Parameters;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...