Langsung ke konten utama

Cara Membuat Aplikasi Kamera dengan Android Studio


Pada postingan Cara Membuat Aplikasi Kamera dengan Android Studio ini kita akan membuat aplikasi yang nantinya dapat mengakses perangkat keras android yaitu kamera. Hasil dari aplikasi yang dibuat nantinya akan tampak seperti gambar di bawah.



Aplikasi kamera yang akan dibuat akan sangat sederhana. Hanya akan menampilkan tampilan kamera, dan belum bisa melakukan jepretan gambar. Fungsi jepretan gambar akan di tambahkan pada postingan selanjutnya.

Buat terlebih dahulu project baru dengan format seperti dibawah.



Baca : Cara Membuat Project Baru di Android Studio

Langsung saja untuk membuat aplikasi kamera silahkan ikuti langkah-langkah di bawah ini:

Langkah 1 : Tambah izin menggunakan camera di AndroidManifest.xml

...
<uses-permission android:name="android.permission.CAMERA"/>
...
Langkah 2 : Edit activity_main.xml seperti berikut.
 
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:id="@+id/fr_kamera"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" />

Langkah 3 : Edit class MainActivity seperti berikut.

 
public class MainActivity extends AppCompatActivity {

private FrameLayout fr_kamera;
private SurfaceView sv;
private SurfaceHolder sh;
private Camera cm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);



fr_kamera = findViewById(R.id.fr_kamera);
sv = new SurfaceView(this);
sh = sv.getHolder();
sh.addCallback(new SurfaceHolderCallback());
fr_kamera.addView(sv);
}

private class SurfaceHolderCallback implements SurfaceHolder.Callback {
@Override
public void surfaceCreated(SurfaceHolder holder) {
cm = Camera.open();
Camera.Parameters parameters = cm.getParameters();
List<Camera.Size> ss = parameters.getSupportedPreviewSizes();
Camera.Size pictSize = ss.get(0);
parameters.setPictureSize(pictSize.width, pictSize.height);
cm.setParameters(parameters);
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
try {
cm.setDisplayOrientation(90);
cm.setPreviewDisplay(sv.getHolder());
Camera.Parameters parameters = cm.getParameters();
List<Camera.Size> previewSize = cm.getParameters().getSupportedPreviewSizes();
Camera.Size pre = previewSize.get(0);
parameters.setPreviewSize(pre.width, pre.height);

ViewGroup.LayoutParams lp = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);

sv.setLayoutParams(lp);
cm.setParameters(parameters);
cm.startPreview();
}catch (Exception e){}

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
cm.stopPreview();
cm.release();
}
}
}


Jika camera anda orientasinya tidak sesuai dengan yang diharapkan silahkan rubah pada bagian cm.setDisplayOrientation(90); anda bisa menggantinya misalnya 0, 90, 180. Pada bagian tersebut jika tidak sesuai bisa jadi hp anda tegakkan ke atas, tetapi gambar yang tampil malah memanjang ke samping.

Selanjutka kita akan membuat tombol untuk menangkap tangkapan kamera, lanjut di postingan Cara Membuat Aplikasi Kamera Bagian Kedua - Capture Image.


Komentar

Postingan populer dari blog ini

Cara Mengatasi Blank Hitam Pada Photoshop

Saat ini mungkin anda sedang mengalami hal yang pernah saya alami, dimana ketika mengedit gambar di Photoshop tiba-tiba screen layer project berubah menjadi hitam. Apalagi pas menambahkan atau mengedit tulisan, blank ini kerap kali muncul. Kurang lebih akan tampak seperti gambar berikut. Teman-teman jangan khawatir karena saya telah menemukan solusinya dan berhasil saya terapkan. Berikut Cara Mengatasi Blank Hitam Pada Photoshop. 1. Masuk ke menu preferences dengan menekan menu Edit -> Preferences -> Performance . 2. Pada layar Preferences klik tombol Advanced Settings 3. Pada layar Advanced Graphics Processor Settings pada pilihan Drawing Mode silahkan ganti menjadi basic kemudian klik Ok , anda akan kembali ke layar Preferences silahkan klik lagi OK . 4. Selanjutnya tutup Photoshop anda dengan klik menu File -> exit . 5. Terakhir buka kembali Photoshop dan lihat hasilnya.

Inilah Kelebihan dan Kekurangan Ruby

Ruby merupakan salah satu bahasa pemrograman berorientasi objek berbasis skrip yang dikembangkan oleh Yukihiro Matsumoto yaitu seorang programer asal Jepang. Untuk mengetahui lebih jauh tentang bahasa Ruby silahkan baca postingan sebelumnya : Mengenal Bahasa Pemrograman Ruby  Sesuai judul postingan kali ini kita hanya akan membahas mengenai Kelebihan serta Kekurangan Bahasa Pemrograman Ruby. Berikut beberapa point yang telah kami jabarkan. Kelebihan Bahasa Pemrograman Ruby 1. Kode sederhana  Dibandingkan dengan bahasa pemrograman lainnya, yang kebanyakan untuk menulis kode dibutuhkan sekitar 10 baris, pada Ruby hanya butuh 1 atau 2 baris. Inilah kenapa Ruby dikatakan memiliki kode yang sederhana. Karena kesederhanaan dalam kodenya, akan mengurangi jam kerja programmer. 2. Multi-platform Ruby dapat berjalan di berbagai sistem operasi seperti Mac, Windows, hingga Linux. 3. Tingkat kebebasan yang tinggi Salah satu bentuk kebebasan programer dalam menuliska kode Ruby seperti tidak adanya p

Mengenal Apa itu Android Studio

Android Studio merupakan tools IDE ( Integrated Development Environment ) yang digunakan untuk membuat aplikasi android. Fungsi utamanya adalah sebagai editor yang menyediakan berbagai kebutuhan dalam membangun aplikasi android seperti widget, library, dll. Android Studio versi terbaru telah mendukung 2 bahasa pemrograman yaitu Java dan Kotlin. Sebelumnya hanya mendukung bahasa Java. Android Studio hadir sebagai pengganti Eclipse ADT ( Android Development Tools ) yaitu tools utama sebelumnya. Tools Android Studio ini dibangun di atas aplikasi yang sudah populer sebagai editor programer yaitu JetBrains IntelliJ IDE. Selain itu Android Studio di lengkapi dengan Emulator sendiri. Sama halnya seperti Eclipse, Android Studio juga memerlukan SDK ( Software Development Kit ) untuk membangun aplikasi android. Bedanya Android Studio didukung penuh oleh Google sebagai pengembangnya serta menggunakan grandle dalam melakukan build. Baca juga : Perbedaan Membuat Aplikasi Android Menggunakan Ecli