안드로이드 개발 질문/답변
(글 수 45,052)
류종택님이 강의하신 카메라 관련 안드로이드 강의를 보고 그대로 따라 했습니다.
그리고 그 프로그램을 제가 가진 단말(디자이어)에 올려서 실행을 시켜 보니,
프리뷰 화면이 아무것도 뜨질 않네요...
이 부분이 Main 액티비티입니다.
이것만으론 왜 안되는지 알수 없고, layout부분이나 매니페스트 부분이 이것과 큰 연관성이 있나요?
그리고 그 프로그램을 제가 가진 단말(디자이어)에 올려서 실행을 시켜 보니,
프리뷰 화면이 아무것도 뜨질 않네요...
package kr.mobileplace.lecture;
import android.content.Context;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.hardware.Camera;
public class CameraView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder holder;
private Camera camera = null;
public CameraView(Context context) {
super(context);
this.holder = getHolder();
this.holder.addCallback(this);
this.holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public CameraView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CameraView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void surfaceCreated(SurfaceHolder holder) {
this.camera = Camera.open();
try {
this.camera.setPreviewDisplay(this.holder);
} catch (Exception e) {
// TODO: handle exception
}
}
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
Camera.Parameters parameters = this.camera.getParameters();
parameters.setPreviewSize(width, height);
this.camera.setParameters(parameters);
this.camera.startPreview();
}
public void surfaceDestroyed(SurfaceHolder holder) {
this.camera.stopPreview();
this.camera = null;
}
}
이게 카메라가 현재 비추고 있는 부분을 프리뷰하는 객체구요. package kr.mobileplace.lecture;
import android.app.Activity;
import android.os.Bundle;
import android.widget.FrameLayout;
public class Main extends Activity {
private CameraView cameraView = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.cameraView = new CameraView(this);
FrameLayout frame = (FrameLayout)findViewById(R.id.frame);
frame.addView(this.cameraView);
}
}이 부분이 Main 액티비티입니다.
이것만으론 왜 안되는지 알수 없고, layout부분이나 매니페스트 부분이 이것과 큰 연관성이 있나요?



