마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

간단한 소스 에러 질문입니다.

0 추천
package com.example.cameracapture1;

import java.io.IOException;

import android.content.Context;
import android.hardware.Camera;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
 
 private SurfaceHolder mHolder;
 private Camera mCamera;
 //
 public CameraPreview(Context context, Camera camera) {
  super(context);
  mCamera = camera;
  mHolder = getHolder();
  mHolder.addCallback(this);
  mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  
 }

 public void surfaceCreated(SurfaceHolder holder) {
  
  try {
   mCamera.setPreviewDisplay(holder);
   mCamera.setDisplayOrientation(90);
   mCamera.startPreview();
  } catch (IOException e) { 

   Log.d("Camera","Error setting camera preview :" + e.getMessage());
  }

  public void surfaceDestroyed(SurfaceHolder holder) {
  }
 
  public void surfaceChanged (SurfaceHolder holder , int format , int w  , int h ) {
   if(mHolder.getSurface() == null) {
    return;
   }
   try {
    mCamera.startPreview();
   } catch (Exception e) {
    
   }
   try {
    mCamera.setPreviewDisplay(mHolder);
    mCamera.startPreview();
   } catch (Exception e) {
    Log.d("camara", "Error starting camera preview :" + e.getMessage());
   }
    
  
  }


 
 
}

현재 제가 생각 하기엔 } 가 잘못 씌워진것 같은데

 

현재 이상태에선 빨간 글로 표시 된 부분에서  Syntax error , insert "}" to complete Block 라는 오류가 나오는데

 

} 이게 어딘가 잘못 표기 된건 알겠는데 어느 부분인지는 잘 모르겠네요 ㅠ 책 보고 따라하는거라 그런지

 

소스 해석이 제대로 안되서 찾기가 어렵고 또한 배운지 얼마 안된 초보라 이런 초보적인 부분에서 막히네요

 

혹시나 해결을 해주신다면 감사하겠습니다.

 

/////////////////////////////////////////

 

빨간 글로 표시 하려했는데 소스로 RGB가 표현되네요

 

에러 부분은 surfacedestroyde 함수 윗 부분에 있는 Log.d 로 시작하는 구문 전체 입니다.

 

익명사용자 님이 2015년 7월 14일 질문

1개의 답변

0 추천

띠워쓰기만 재대로하셔도 답이 바로 보이실텐데요 ㅡ.ㅡ;;

import java.io.IOException; 
  
import android.content.Context; 
import android.hardware.Camera; 
import android.util.Log; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
  
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback { 
   
 private SurfaceHolder mHolder; 
 private Camera mCamera; 
 // 
 public CameraPreview(Context context, Camera camera) { 
  super(context); 
  mCamera = camera; 
  mHolder = getHolder(); 
  mHolder.addCallback(this); 
  mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
    
 } 
  
 public void surfaceCreated(SurfaceHolder holder) { 
    
  try { 
   mCamera.setPreviewDisplay(holder); 
   mCamera.setDisplayOrientation(90); 
   mCamera.startPreview(); 
  } catch (IOException e) {  
   Log.d("Camera","Error setting camera preview :" + e.getMessage()); 
  }
 }
 public void surfaceDestroyed(SurfaceHolder holder) { 
 } 
   
 public void surfaceChanged (SurfaceHolder holder , int format , int w  , int h ) { 
  if(mHolder.getSurface() == null) { 
   return; 
  } 
  try { 
   mCamera.startPreview(); 
  } catch (Exception e) { 
      
  } 
  try { 
   mCamera.setPreviewDisplay(mHolder); 
   mCamera.startPreview(); 
  } catch (Exception e) { 
   Log.d("camara", "Error starting camera preview :" + e.getMessage()); 
  } 
 } 

}

public void surfaceCreated(SurfaceHolder holder) 의 catch 블록 다음 펑션의 마지막 } 이 없내요

컴러기 (22,230 포인트) 님이 2015년 7월 14일 답변
...