본문 바로가기

Android/Camera capture n display

안드로이드 카메라 예제

안드로이드에서 카메라 액티비티를 사용하여 사진을 촬영하는 예

촬영한 사진을 ImageView를 통해 보여주는 내용 포함

저장된 사진파일의 경로를 확인하는 예는 여기를 참조

http://developer.android.com/reference/android/hardware/Camera.html

 <uses-permission android:name="android.permission.CAMERA" />
 
<uses-feature android:name="android.hardware.camera" />
 
<uses-feature android:name="android.hardware.camera.autofocus" />

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="test.android.hello"

    android:versionCode="1"

    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

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

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

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

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

  <uses-feature android:name="android.hardware.camera" />

  <uses-feature android:name="android.hardware.camera.autofocus" />

    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name" >

        <activity

            android:name=".CameraActivity"

            android:label="@string/app_name" >

            <!-- set my class to main-->

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

</manifest>


MyCameraActivity

package test.android.hello;


import android.app.*;

import android.content.*;

import android.graphics.*;

import android.os.*;

import android.view.*;

import android.widget.*;


public class CameraActivity extends Activity {

    private static final int CAMERA_REQUEST = 4321; 

    private ImageView imageView;


    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        this.imageView = (ImageView)this.findViewById(R.id.imageView1);

    }


    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  

        if (requestCode == CAMERA_REQUEST) {  

            Bitmap photo = (Bitmap) data.getExtras().get("data"); 

            imageView.setImageBitmap(photo);

        }  

    } 

    

    public void onBtnClick(View v) {

        Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

        startActivityForResult(cameraIntent, CAMERA_REQUEST); 

    }

}