androidカメラアプリ

Manifestに以下の行を追加

<uses-permission android:name="android.permission.CAMERA"/>

ここはほぼ初期状態。

public class camera extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new CameraView(this));
    }
}

カメラプレビューを記述

public class CameraView extends SurfaceView implements SurfaceHolder.Callback{
	private SurfaceHolder holder;
	private Camera camera;
	public CameraView(Context context) {
		super(context);
		holder = getHolder();
		holder.addCallback(this);
		holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
	}
	
	public void surfaceCreated(SurfaceHolder holder){
		camera = Camera.open();
		try{
			camera.setPreviewDisplay(holder);
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
	public void surfaceDestroyed(SurfaceHolder holder){
		camera.stopPreview();
		camera = null;
	}

	@Override
	public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
		Camera.Parameters parameters = camera.getParameters();
		parameters.setPreviewSize(width, height);
		camera.setParameters(parameters);
		camera.startPreview();
		
	}
}

実行すると↓