Anda di halaman 1dari 8

MEMBUAT APLIKASI KAMERA IMAGE

PICKER SEDERHANA DI ANDROID


STUDIO

Apa itu kamera ? Kamera adalah alat paling populer dalam aktivitas fotografi.
Nama ini didapat dari camera obscura, bahasa Latin untuk “ruang gelap”,
mekanisme awal untuk memproyeksikan tampilan di mana suatu ruangan
berfungsi seperti cara kerja kamera fotografis yang modern, kecuali tidak ada
cara pada waktu itu untuk mencatat tampilan gambarnya selain secara manual
mengikuti jejaknya. Dalam dunia fotografi, kamera merupakan suatu peranti
untuk membentuk dan merekam suatu bayangan potret pada lembaran film.
Pada kamera televisi, sistem lensa membentuk gambar pada sebuah lempeng
yang peka cahaya. Lempeng ini akan memancarkan elektron ke lempeng
sasaran bila terkena cahaya. Selanjutnya, pancaran elektron itu diperlakukan
secara elektronik. Dikenal banyak jenis kamera potret.

Dan apa itu Multimedia ? Multimedia adalah penggunaan komputer untuk


menyajikan dan menggabungkan teks, suara, gambar, animasi, audio dan video
dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat melakukan
navigasi, berinteraksi, berkarya dan berkomunikasi. Multimedia sering
digunakan dalam dunia informatika.

Kali ini saya akan membuat tutorial membuat aplikasi camera di android
studio.
1. Pertama-tama kita membuat project baru untuk membuat aplikasi Camera
di Android Studio. Masuk ke menu File → New → New Project→Empty
Activity

2. Buka file activity_main.xml yang ada di folder layout. Ketikkan kode


layout di bawah ini :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity" >

<Button
android:id="@+id/btn_pilih"
android:text="Pilih Gambar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"/>

<ImageView
android:id="@+id/img_set"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"/>
</RelativeLayout>
3. Selanjutnya buka file MainActivity.java , lalu ketikan ini :

package com.uty.imagepickerandroid

import java.io.File
import android.R
import android.app.Activity
import android.app.AlertDialog
import android.content.DialogInterface
import android.content.Intent
import android.database.Cursor
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.net.Uri
import android.os.Bundle
import android.os.Environment
import android.provider.MediaStore
import android.view.View
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.ImageView
import android.widget.Toast

class MainActivity : Activity() {

private var UrlGambar: Uri? = null


private var SetImageView: ImageView? = null

public override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val pilih = arrayOf("Camera", "SD Card")


val arr_adapter = ArrayAdapter(this, android.R.layout.select_dialog_item,
pilih)
val builder = AlertDialog.Builder(this)

builder.setTitle("Pilih Gambar")
builder.setAdapter(arr_adapter) { dialog, pilihan ->
if (pilihan == 0) {
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
val file = File(
Environment.getExternalStorageDirectory(),
"image_picker/img_" + System.currentTimeMillis().toString() +
".jpg"
)
UrlGambar = Uri.fromFile(file)

try {
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
UrlGambar)
intent.putExtra("return-data", true)

startActivityForResult(intent, CAMERA)
} catch (e: Exception) {
e.printStackTrace()
}

dialog.cancel()
} else if (pilihan == 1) {
val intent = Intent()
intent.type = "image/*"
intent.action = Intent.ACTION_GET_CONTENT

startActivityForResult(Intent.createChooser(intent, "Pilih
Aplikasi"), FILE)
}
}

val dialog = builder.create()

SetImageView = findViewById(R.id.img_set) as ImageView

val tmb_pilih = findViewById(R.id.btn_pilih) as Button


tmb_pilih.setOnClickListener { dialog.show() }
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent)


{
if (resultCode != Activity.RESULT_OK) return

var bitmap: Bitmap? = null


var path: String? = ""

if (requestCode == FILE) {
UrlGambar = data.data
path = getRealPath(UrlGambar)

if (path == null) {
path = UrlGambar!!.path
} else {
bitmap = BitmapFactory.decodeFile(path)
}
} else {
path = UrlGambar!!.path
bitmap = BitmapFactory.decodeFile(path)
}

Toast.makeText(this, path, Toast.LENGTH_SHORT).show()


SetImageView!!.setImageBitmap(bitmap)
}

fun getRealPath(contentUri: Uri?): String? {


var path: String? = null
val images_data = arrayOf(MediaStore.Images.Media.DATA)
val cursor = contentResolver.query(contentUri!!, images_data, null, null,
null)
if (cursor!!.moveToFirst()) {
val column_index =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA)
path = cursor.getString(column_index)
}
cursor.close()
return path
}

companion object {

private val CAMERA = 1


private val FILE = 2
}
}
4. Berhubung aplikasi sering force close karena berubahnya orientasi layar
(yang dari saat pengambilan gambar menggunakan mode landascape dan
setelah selesai mengambil gambar kembali ke mode portrait), maka saya
mengakalinya dengan mengatur activity pada AndroidManifest.xml
hanya bisa dijalankan dalam mode portrait

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="dlmbg.pckg.image.picker.anroid"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.uty.imagepickerandroid.MainActivity"
android:label="@string/app_name"
android:configChanges="orientation"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
</application>

</manifest>
5. dan hasilnya seperti di bawah ini :
Refrensi
- https://id.wikipedia.org/wiki/Kamera
- https://id.wikipedia.org/wiki/Multimedia
- https://gedelumbung.com/android-tutorial-membuat-imagepicker-dari-kamera-atau-
file-manager-di-android/

Anda mungkin juga menyukai