Cara Menggunakan Fitur Kamera Pada Android Studio

Saat membuat aplikasi android ada kalanya kita ingin mengimplementasikan fitur kamera yang ada di smartphone android. Lalu bagaimana cara menggunakan fitur kamera pada android studio ?.

Rekomendasi : Cara menggunakan strings.xml, colors.xml dan drawable

Untuk menggunakan kamera pada aplikasi yang kita buat kita perlu memanggil intent MediaStore. ACTION_IMAGE_CAPTURE. Adapun langkah-langkahnya yaitu :

1. Buat project baru
Buka android studio kemudian klik creat new project. Kemudian isi :

* application name : androidcamera
* phone and tablet : API 19 ( disesuaikan)
* activity : empty activity
* activity name : mainactivity

Jika sudah diisi silahkan klik finish dan tunggu sampai proses gradle selesai.

Rekomendasi : Buku Android Studio Mastery

2. Pembuatan layout
Buka activity_main.xml kemudian tambahkan atur layout menjadi relative layout. Silahkan modifikasi sesuai script xml dibawah ini.

3. Pengkodingan java
Buka MainActivity.java lalu tambahkan kode-kode dibawah ini

package badoystudio.com.androidcamera;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
public static final int MY_PERMISSIONS_REQUEST_CAMERA = 100;
public static final String ALLOW_KEY = “ALLOWED”;
public static final String CAMERA_PREF = “camera_pref”; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { if (getFromPref(this, ALLOW_KEY)) { showSettingsAlert(); } else if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) { showAlert(); } else { // No explanation needed, we can request the permission. ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_CAMERA); } } } else { openCamera(); } }
public static void saveToPreferences(Context context, String key, Boolean allowed) { SharedPreferences myPrefs = context.getSharedPreferences(CAMERA_PREF, Context.MODE_PRIVATE); SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putBoolean(key, allowed); prefsEditor.commit();
} public static Boolean getFromPref(Context context, String key) { SharedPreferences myPrefs = context.getSharedPreferences(CAMERA_PREF, Context.MODE_PRIVATE); return (myPrefs.getBoolean(key, false));
} private void showAlert() { AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); alertDialog.setTitle(“Alert”); alertDialog.setMessage(“App needs to access the Camera.”); alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, “DONT ALLOW”, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); finish(); } }); alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, “ALLOW”, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_CAMERA); } }); alertDialog.show();
} private void showSettingsAlert() { AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); alertDialog.setTitle(“Alert”); alertDialog.setMessage(“App needs to access the Camera.”); alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, “DONT ALLOW”, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //finish(); } }); alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, “SETTINGS”, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); startInstalledAppDetailsActivity(MainActivity.this); } }); alertDialog.show();
} @Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case MY_PERMISSIONS_REQUEST_CAMERA: { for (int i = 0, len = permissions.length; i
4. Pengaturan uses permission
Selanjutnya kita atur permissionnya pada AndroidManifest.xml. Untuk kode-kodenya sendiri silahkan tambahkan seperti dibawah ini.

Rekomendasi : Tutorial Belajar Android Studio Lengkap Untuk Pemula

5. Running aplikasi
Running aplikasi yang sudah kita tambahkan fitur kamera menggunakan android virtual device, genymotion, atau langsung ke smartphone android yang kita miliki.

Pada latihan ini saya merunnng aplikasi menggunakan smartphone Oppo A3s dan hasilnya :

Itulah tutorial Cara Menggunakan Fitur Kamera pada Android Studio. Silahkan di praktekan dan jangan lupa share.}}}}