Aplikasi Kamera Android Di Android Studio Dengan Contoh



Di android, Kamera berguna untuk menangkap foto dan video di aplikasi kita. Dengan menggunakan API kamera kita bisa mengontrol fungsionalitas kamera berdasarkan kebutuhan kita.

Framework android menyediakan dua cara seperti android.hardware.camera2 API dan camera intent untuk menangkap gambar dan video dalam aplikasi kita.

android.hardware.camera2

Ini adalah API utama untuk mengontrol kamera perangkat. Dengan menggunakan ini kita bisa mengambil gambar atau video dari aplikasi kita dengan menggunakan kamera.

Intent

Dengan menggunakan jenis tindakan (action) intent baik MediaStore.ACTION_IMAGE_CAPTURE atau MediaStore.ACTION_VIDEO_CAPTURE, kita bisa menangkap foto atau video tanpa langsung menggunakan objek Kamera.

Cara terbaik adalah dengan menggunakan Intent untuk memanggil aplikasi kamera Android yang ada untuk mengambil gambar atau video di aplikasi kita tanpa menulis banyak kode tambahan.

Di android, Dengan menggunakan metode startActivityForResult () dengan parameter tindakan intent MediaStore.ACTION_IMAGE_CAPTURE, kita bisa mengambil gambar dari aplikasi android kita.

Berikut adalah cuplikan kode untuk mengambil gambar menggunakan objek maksud dengan parameter tindakan MediaStore.ACTION_IMAGE_CAPTURE di aplikasi android.


  
Intent cInt = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cInt,Image_Capture_Code);

Jika kalian mengamati cuplikan kode di atas, kita menggunakan metode startActivityForResult () dengan parameter tindakan (action) intent MediaStore.ACTION_IMAGE_CAPTURE untuk mengambil foto. 

Parameter kedua Image_Capture_Code adalah bilangan bulat yang ditentukan secara lokal yang harus lebih besar dari 0.

Contoh Aplikasi Kamera Android

Berikut adalah contoh penggunaan aplikasi kamera yang ada di aplikasi android kita untuk mengambil foto dengan mengklik tombol.

Buat aplikasi android baru menggunakan android studio dan beri nama CameraExample. Jika kalian tidak mengetahui cara membuat aplikasi di studio android, periksa artikel ini Aplikasi Android Hello World.

Setelah kita membuat aplikasi, buka file activity_main.xml dari path folder \ res \ layout dan tulis kodenya seperti gambar di bawah ini.

activity_main.xml


  
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="10dp"
    android:paddingRight="10dp">
    <Button
        android:id="@+id/btnTakePicture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Take a Photo"
        android:textStyle="bold"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true" />
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/capturedImage"
        android:layout_above="@+id/btnTakePicture"/>
</RelativeLayout>

Sekarang buka file main activity kalian MainActivity.java dari path \ java \ com.panda.cameraexample dan tulis kode seperti yang ditunjukkan di bawah ini

MainActivity.java

 
  
package com.panda.cameraexample;
import android.content.Intent;
import android.graphics.Bitmap;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button btnCapture;
    private ImageView imgCapture;
    private static final int Image_Capture_Code = 1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnCapture =(Button)findViewById(R.id.btnTakePicture);
        imgCapture = (ImageView) findViewById(R.id.capturedImage);
        btnCapture.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent cInt = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(cInt,Image_Capture_Code);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == Image_Capture_Code) {
            if (resultCode == RESULT_OK) {
                Bitmap bp = (Bitmap) data.getExtras().get("data");
                imgCapture.setImageBitmap(bp);
            } else if (resultCode == RESULT_CANCELED) {
                Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
            }
        }
    }
}

Jika kalian mengamati cuplikan kode di atas, kita menggunakan metode startActivityForResult () dengan parameter tindakan intent MediaStore.ACTION_IMAGE_CAPTURE untuk mengambil foto.

Saat kita mengklik tombol Ambil Foto, kamera akan mulai dan kita dapat mengambil gambar apa pun yang kita inginkan, gambar yang diambil akan ditampilkan dalam tampilan gambar yang ditentukan.

Ini adalah bagaimana kita dapat menggunakan kamera di aplikasi android untuk mengambil foto atau video berdasarkan kebutuhan kita.

Mungkin itu saja untuk tutorial kali ini, See You Next Time :)