Android Introduction
60 likes | 96 Vues
Learn how to create an Android app that launches the camera, captures an image, and displays it using this tutorial. Includes layout design, camera launching, and result handling.
Android Introduction
E N D
Presentation Transcript
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