60 likes | 85 Views
Android Introduction. Camera. Many thanks to Jun Bum Lim for his help with this tutorial. Goal. Create an application that launches the built-in Camera and use the results for displaying the captured image. Layout. Make a LinearLayout with a TextView, a Button, and an ImageView
E N D
Android Introduction Camera @2011 Mihail L. Sichitiu Many thanks to Jun Bum Lim for his help with this tutorial.
Goal • Create an application that launches the built-in Camera and use the results for displaying the captured image. @2010 Mihail L. Sichitiu
Layout • Make a LinearLayout with • a TextView, • a Button, and • an ImageView • Create a handler for the OnClick event of the Button @2010 Mihail L. Sichitiu
Launch Camera • Creating an Intent, as follows, within your button click handler: Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); • Launch camera activity with asking result: startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); • define within your application as the request code returned by the Camera image capture Intent privatestaticfinalintCAMERA_PIC_REQUEST = 1; @2010 Mihail L. Sichitiu
Handling result from Camera • By adding onActivityResult() in your Activity: protectedvoidonActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_PIC_REQUEST) { // display image Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView imageTakePic = (ImageView) findViewById(R.id.imageViewPhone); imageTakePic.setImageBitmap(thumbnail); } } @2010 Mihail L. Sichitiu
Enforcing Device Requirement <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ucab.test.camera" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <uses-feature android:name="android.hardware.camera"></uses-feature> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AndroidCameraActivity" android:label="@string/app_name"> <intent-filter> : : Application wants a camera It is not enforced by Android @2010 Mihail L. Sichitiu