2012-02-11 4 views
1

Im пытается этот учебник: 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); 
    } 


}; 

ответ

2

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

private String = "this will not work"; 

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

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

params.setPreviewSize(w, h); 

в

params.setPreviewSize(width, height); 

Кроме того, добавить импорт

import android.hardware.Camera.Parameters; 
+0

ПТК .. этот файл все испортил .. я не хочу быть беспомощным осёл, но вы можете показать мне, как должен читаться код? – erik

+0

теперь у меня проблема с синтаксисом с этим segmant .. я думаю, что выбрал плохой учебник 'code' – erik