Android | Cara Mengambil Foto atau Video dari Galeri dan Kamera

Cara Mengambil Foto atau Video dari Galeri dan Kamera

Devloid - Halo semuanya, sekarang kita akan membuat contoh aplikasi android mengambil foto atau video pada galeri atau kamera. mari kita buat.

Kita akan mengambil foto atau video dengan metode Intent, jika anda belum mengetahui apa itu Intent. saya telah membuat tutorial cara menggunakan Intent, klik pada link dibawah:

Baca : Cara Memindahkan Activity Satu ke Activity Lainnya

Pertama - tama buat project pada Android Studio.

lalu tambahkan permission pada AndroidManifest.xml, pada bagian atas <application>

AndroidManifest.xml

<uses-feature android:name="android.hardware.camera2">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE">

lalu pada activity_main.xml kita beri Button untuk membuka galeri atau kamera, ImageView untuk menampilkan gambar yang kita pilih, VideoView untuk menampilkan video yang telah kita rekam menggukanan kamera.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>  
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   xmlns:app="http://schemas.android.com/apk/res-auto"  
   xmlns:tools="http://schemas.android.com/tools"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent"  
   tools:context="com.adi.uploadgambar.MainActivity">  
   
   <Button  
     android:id="@+id/button_gallery"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:text="Gallery"  
     tools:layout_editor_absoluteX="0dp"  
     tools:layout_editor_absoluteY="0dp" />  
   
   <Button  
     android:id="@+id/button_kamera"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentTop="true"  
     android:layout_centerHorizontal="true"  
     android:text="Kamera" />  
   
   <Button  
     android:id="@+id/button_video"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentEnd="true"  
     android:layout_alignParentRight="true"  
     android:layout_alignParentTop="true"  
     android:text="Video" />  
   
   <ImageView  
     android:id="@+id/image_view"  
     android:layout_width="match_parent"  
     android:layout_height="match_parent"  
     android:layout_alignParentLeft="true"  
     android:layout_alignParentStart="true"  
     android:layout_below="@+id/button_gallery"  
     android:visibility="invisible"/>  
   
   <VideoView  
     android:id="@+id/video_view"  
     android:layout_width="match_parent"  
     android:layout_height="match_parent"  
     android:layout_alignParentLeft="true"  
     android:layout_alignParentStart="true"  
     android:layout_below="@+id/button_gallery"  
     android:visibility="invisible"/>  
 </RelativeLayout>  
   

lalu copy codingan dibawah ini dan taruh pada MainActivity.java.

MainActivity.java

package com.adi.uploadgambar;  
   
 import android.content.Intent;  
 import android.graphics.Bitmap;  
 import android.net.Uri;  
 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.VideoView;  
   
 public class MainActivity extends AppCompatActivity {  
   private static final int GALLERY_REQUEST = 1;  
   private static final int KAMERA_REQUEST = 2;  
   private static final int VIDEO_REQUEST = 3;  
   
   private Bitmap mImageBitmap;  
   
   private Button buttonGallery, buttonKamera, buttonVideo;  
   private ImageView imageView;  
   private VideoView videoView;  
   
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
   
     buttonGallery = (Button) findViewById(R.id.button_gallery);  
     buttonKamera = (Button) findViewById(R.id.button_kamera);  
     buttonVideo = (Button) findViewById(R.id.button_video);  
     imageView = (ImageView) findViewById(R.id.image_view);  
     videoView = (VideoView) findViewById(R.id.video_view);  
   
     //Saat kita menekan tombol galeri  
     buttonGallery.setOnClickListener(new View.OnClickListener() {  
       @Override  
       public void onClick(View view) {  
         //Membuka galeri dengan menggunakan intent  
         Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);  
         galleryIntent.setType("image/*");  
         startActivityForResult(galleryIntent, GALLERY_REQUEST);  
       }  
     });  
   
     //Saat kita menekan tombol kamera  
     buttonKamera.setOnClickListener(new View.OnClickListener() {  
       @Override  
       public void onClick(View view) {  
         //Mmebuka kamera dengan menggukanan intent  
         Intent kameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
         startActivityForResult(kameraIntent, KAMERA_REQUEST);  
       }  
     });  
   
     //Saat kita menekan tombol video  
     buttonVideo.setOnClickListener(new View.OnClickListener() {  
       @Override  
       public void onClick(View view) {  
         //Membuka kamera dengan menggunakan intent  
         Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);  
         startActivityForResult(videoIntent, VIDEO_REQUEST);  
       }  
     });  
   }  
   
   //Dipanggil saat kita memakai metode startActivityForResult  
   @Override  
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
     super.onActivityResult(requestCode, resultCode, data);  
   
     //Memilih tombol mana yang akan kita pencet  
     switch (requestCode){  
       case GALLERY_REQUEST:  
         //Menyembunyika VideoView pada layout activity_main.xml  
         videoView.setVisibility(View.INVISIBLE);  
   
         //Menampilkan ImageView pada layout activity_main.xml  
         imageView.setVisibility(View.VISIBLE);  
         Uri imageUri = data.getData();  
   
         //Menampilkan foto yang kita pilih pada galeri  
         imageView.setImageURI(imageUri);  
         break;  
       case KAMERA_REQUEST:  
         //Menyembunyika VideoView pada layout activity_main.xml  
         videoView.setVisibility(View.INVISIBLE);  
   
         //Menampilkan ImageView pada layout activity_main.xml  
         imageView.setVisibility(View.VISIBLE);  
         Bundle extras = data.getExtras();  
         mImageBitmap = (Bitmap) extras.get("data");  
   
         //Menampilkan foto yang telah kita tangkap menggunakan kamera  
         imageView.setImageBitmap(mImageBitmap);  
         break;  
       case VIDEO_REQUEST:  
         //Menyembunyika ImageView pada layout activity_main.xml  
         imageView.setVisibility(View.INVISIBLE);  
   
         //Menampilkan ViewView pada layout activity_main.xml  
         videoView.setVisibility(View.VISIBLE);  
         Uri videoUri = data.getData();  
   
         //Menampilkan video yang telah kita tangkap menggukanan kamera  
         videoView.setVideoURI(videoUri);  
         break;  
     }  
   }  
 }  
   
lalu Run project anda menggunakan Device anda.

maka akan tampil seperti gambar dibawah.



Selesai, anda telah membuat contoh aplikasi Cara Mengambil Foto atau Video dari Galeri dan Kamera.

Semoga tutorial saya bermanfaat :) sampai jumpa di tutorial selanjutnya.

Komentar

Postingan populer dari blog ini

Android | Cara Memindahkan Activity Satu ke Activity Lainnya

Membuat Project dan Menjalankan Project di Android Studio