Wednesday 24 July 2013

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.

Berikut langkahnya.
  1. Buka eclipse dan buat sebuah project baru.
  2. 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>
  3. 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>

  4. 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;
     }
    
    }

  5. Sekarang jalankan aplikasi kawan-kawan.
    4-9-2013 4-29-16 PM4-9-2013 4-30-19 PM

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.

 

 Sayounara ...


Posted by Unknown On 03:01 No comments

0 comments:

Post a Comment

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Recent Post

Entri Populer

Total Pageviews

Visitor



Flag Counter

    About

    Orang yang berilmu mengetahui orang yang bodoh karena dia pernah bodoh, sedangkan orang yang bodoh tidak mengetahui orang yang berilmu karena dia tidak pernah berilmu.