안드로이드 개발 질문/답변
(글 수 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부분이나 매니페스트 부분이 이것과 큰 연관성이 있나요?