Android CameraX API Kullanımı

Günümüzde bir çok konu görsel öğeler üzerinden ilerlemektedir. Popüler mobil uygulamalarda da fotoğraf çekme eylemi çokça kullanılmaktadır. Bu yüzden bir mobil geliştirici olarak, kamerayı uygulamalarınıza nasıl entegre edeceğinizi bilmeniz önemlidir.

Mobil uygulamalarda kamera kullanımını oluşturabilmek hayli zordur. Bu konuda bir çok kütüphane olmasına rağmen, bu kütüphaneler yazılımcıları uzun ve karmaşık kodları ile yormaktadır.

Bu makalemde, Android uygulamada, kamera entegresini basit ve kolay anlaşılır yapıda minimum kodlamayla oluşturabilmeyi sağlayan CameraX kütüphanesinin kullanımını örnekleyeceğim.

CameraX kullanımını örnekleyeceğim Android uygulamasında kamera ikonuna tıkladığınızda aşağıda belirttiğim görüntüde olduğu gibi, çekilen fotoğrafın telefondaki yerini gösterecektir. Dilerseniz telefondaki Galeri programından fotoğrafa erişebilirsiniz.

Örneklediğim projemin kodlarını indirmek isterseniz; yapmanız gereken tek şey aşağıya koyduğum KODLARI İNDİR resmine tıklamak.

download

1-Gerekli Kütüphanelerin Eklenmesi

Jetpack kütüphanesinde AndroidX namespace barınmaktadır. CameraX API’si AndroidX kütüphanesinde bulunduğundan dolayı, projedeki tüm kütüphane tanımlamaları androidx ile başlamalıdır.

Dilerseniz AndroidX Kütüphanesine Geciş adlı makalemi okuyarak, var olan projelerinizi AndroidX yapısına kolaylıkla geçişini sağlayabilirsiniz.

Android Studio Ide ile oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Dependencies kod bloklarının arasına aşağıdaki kodları yerleştirerek CameraX kütüphanesini yüklüyoruz.

2-Projede İzinlerin Tanımlanması

Telefonun kamera özelliğini kullanabilmek ve çekilen fotoğrafın dizine eklenebilmesi için bazı  izinler tanımlamamız gerekir. Aşağıdaki izin kodunu da AndroidManifest.xml dosyasında application tag’nin üst kısmına yerleştirin.

3-Arayüz Kodlaması

Örneğimizdeki görüntüyü elde etmek içim, 1 tane xml dosyasında kodlama yapmamız gerekmektedir.

Canlı bir video akışı, kamera görüntüsü veya OpenGL sahnesi gibi herhangi bir içerik akışı görüntülemek istiyorsanız, android tarafından sağlanan TextureView’u kullanmanız gerekir.Bu yüzden xmlde TextureView kullandım.

4-Java kodlama ile işlevsellik oluşturma

Fotoğraf çekme işlemi için sadece bir tane Java sınıfında kodlama yaptık. Java kod açıklamaları, yorum tagları içinde bulunmaktadır.

 

Kategori Genel
Etiketler