Featured

Tutorial Membuat Fitur Kamera Pada Program Aplikasi Android

Copywriting
Techfor Id
Written by Techfor Id

Seperti yang kamu tahu, kamera umumnya digunakan untuk menangkap gambar atau video. Umumnya disetiap jenis smartphone modern pasti memiliki fitur canggih ini.  Tapi tahukah kamu bahwa kita sebagai programmer aplikasi juga bisa menerapkan tehnik serupa tetapi dalam aplikasi ?

Kita bisa mengendalikan kamera dengan menggunakan metode Camera API.

Android menyediakan fasilitas untuk membuat fitur tersebut dengan 2 cara :

  • Melalui Camera Intent
  • Melalui Camera API

Memahami Class Dasar Dari Camera Intent Dan Camera API

Pada dasarnya, terdapat 4 jenis class yang akan kita bahas disini, diantaranya :

1. Intent

Berkat bantuan dari 2 konstan class MediaStore, kita bisa menangkap gambar dan video tanpa menggunakan  instance dari class Camera. Keduanya yaitu :

  1. ACTION_IMAGE_CAPTURE
  2. ACTION_VIDEO_CAPTURE

2. Camera

Ia Merupakan Class utama dari Camera API yang bisa digunakan untuk menangkap gambar maupun video.

3. SurfaceView

Ia mewakili pratinjau tampilan permukaan dari kamera langsung (Live)

4. MediaRecorder

Digunakan untuk merekam video melalui kamera. Ia juga bisa digunakan untuk merekam file audio.

Contoh Aplikasi Kamera Dengan Menggunakan Camera Intent

Dalam contoh ini, kami menulis kode sederhana untuk menangkap gambar menggunakan kamera dan menampilkan gambar menggunakan imageview.

activity_main.xml

Seret satu imageview dan satu tombol dari palet, sekarang file xml akan terlihat seperti ini :

File: activity_main.xml

<RelativeLayout xmlns:androclass=”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/button1″  

        android:layout_width=”wrap_content”  

        android:layout_height=”wrap_content”  

        android:layout_alignParentBottom=”true”  

        android:layout_centerHorizontal=”true”  

        android:text=”Take a Photo” >  

    </Button>  

    <ImageView  

        android:id=”@+id/imageView1″  

        android:layout_width=”fill_parent”  

        android:layout_height=”fill_parent”  

        android:layout_above=”@+id/button1″  

        android:layout_alignParentTop=”true”  

        android:src=”@drawable/ic_launcher” >  

    </ImageView>  

</RelativeLayout>

Activity Class

Selanjutnya kita tinggal menulis kode untuk menangkap gambar dengan kamera dan menampilkannya pada Image View.

File : MainActivity.Java

package com.example.simplecamera;  

import android.app.Activity;  

import android.content.Intent;  

import android.graphics.Bitmap;  

import android.os.Bundle;  

import android.view.Menu;  

import android.view.View;  

import android.widget.Button;  

import android.widget.ImageView;  

public class MainActivity extends Activity {  

     private static final int CAMERA_REQUEST = 1888;  

     ImageView imageView;  

     public void onCreate(Bundle savedInstanceState) {  

         super.onCreate(savedInstanceState);  

         setContentView(R.layout.activity_main);  

         imageView = (ImageView) this.findViewById(R.id.imageView1);  

         Button photoButton = (Button) this.findViewById(R.id.button1);  

         photoButton.setOnClickListener(new View.OnClickListener() {  

         @Override  

         public void onClick(View v) {  

              Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  

              startActivityForResult(cameraIntent, CAMERA_REQUEST);  

         }  

        });  

       }  

     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  

      if (requestCode == CAMERA_REQUEST) {  

       Bitmap photo = (Bitmap) data.getExtras().get(“data”);  

       imageView.setImageBitmap(photo);  

      }  

   }  

    @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;  

    }  

}  


Output :

Sumber : https://www.javatpoint.com/android-camera-tutorial

About the author

Techfor Id

Techfor Id

Leave a Comment