Ohayou kawan ...
Kali ini kita akan membahas bagaimana memanggil fungsi camera pada Android. Caranya cukup mudah, kita tinggal memanggil sebuah Intent bawaan dari fungsi internal Android.
Kali ini kita akan membahas bagaimana memanggil fungsi camera pada Android. Caranya cukup mudah, kita tinggal memanggil sebuah Intent bawaan dari fungsi internal Android.
Berikut langkahnya.
- Buka eclipse dan buat sebuah project baru.
- Buka AndroidManifest.xml dan buat permission sebagai berikut.
<uses-permission android:name="android.permission.CAMERA"/>
berikut source lengkapnya.
<?xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" package="com.is.cameratest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.CAMERA"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.is.cameratest.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
- Sekarang buat desain aplikasinya. Buka activity_main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <Button android:id="@+id/btnCamera" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Camera" tools:ignore="HardcodedText" /> <ImageView android:id="@+id/imageView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/btnCamera" tools:ignore="ContentDescription" /> </RelativeLayout>
- Sekarang buka MainActivity.java dan ketikkan kode berikut.
package com.is.cameratest; import java.io.File; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { Button buttonCamera; Uri capturaImage; ImageView imageView; private static final int PICK_FROM_CAMERA = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView=(ImageView)findViewById(R.id.imageView); buttonCamera=(Button)findViewById(R.id.btnCamera); buttonCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File file=new File(Environment.getExternalStorageDirectory(),"img_"+String.valueOf(System.currentTimeMillis())+".jpg"); capturaImage=Uri.fromFile(file); try { intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, capturaImage); intent.putExtra("return-data", true); startActivityForResult(intent, PICK_FROM_CAMERA); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != RESULT_OK) return; Bitmap bitmap = null; String path = ""; path = capturaImage.getPath(); bitmap = BitmapFactory.decodeFile(path); imageView.setImageBitmap(bitmap); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
- Sekarang jalankan aplikasi kawan-kawan.
Selesai...
untuk memanggil Intent camera disini kita menggunakan action.
Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Oke kawan, untuk pertemuan kali ini ane akhiri sekian, semoga bermanfaat dan sampai jumpa di postingan berikutnya.
Download project latihannya disini.
0 comments:
Post a Comment