<?xml version="1.0" encoding="utf-8"?>
|
|
NOT1: NotificationManager, NotificationChannel ve NotificationBuilder lateinit olarak tanımlanmıştır. Bu class lar ButtonClick işleminden sonra initialize edilecektir.
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
Merhaba,
bu yazıda Kotlin ile geliştirilen bir Android uygulamasında nasıl ses çalınacağı(oynatılacağı) paylaşılmıştır.
İlk olarak Android Studio ile Kotlin destekli bir Android projesi oluşturulur.
Uygulamada kullanılacak ses tonu dosyası "res/raw/" dizini altına "alert.mp3" olarak eklenir.
layout/activity_main.xml dosyası LinearLayut'a dönüştürülerek içine bir Button eklenir. Bu butona tıklayınca ses dosyası oynatılacaktır.
layout/activity_main.xml dosyasının içeriği aşağıdaki gibi olacaktır.
<?xml version="1.0" encoding="utf-8"?>
|
Son adımda "MainActivity.kt" dosyasına gidilerek activity_main.xml'e eklenen Button'a clickEventListener eklenir.
Button'a tıklanınca ses dosyasını oynatması için bir MediaPlayer nesnesi oluşturularak start edilir.
MainActivity.kt dosyasının son hali aşağıdaki gibi olmalıdır.
|
NOT: R.raw.alert ile MediaPlayer'a ses dosyasının bulunduğu yol parametre olarak geçilmiştir.
Uygulamanın kaynak kodlarına aşağıdaki linkten ulaşabilirsiniz.
Github : https://github.com/lvntyldz/tutorials/tree/master/kotlin-android-app-examples/11-play-sound
Merhaba,
bu yazım Kotlin ile uygulama üzerinden kamera' ya erişim ve kamera görüntüsü almayla alakalı olacaktır.
Android ile uygulama geliştirirken varsayılan durumda dosya sistemine ve kameraya erişim kapalı olarak gelmektedir. Uygulamada kamera ile alakalı bir işlem yapılacaksa uygulamanın beyni olarak adlandırabileceğimiz AndroidManifest.xml dosyası üzerinden kameraya ve external storage'a erişim yetkisi tanımlanmalıdır. Bu tanımlama sonrasında yazılacak birkaç satır kod ile harici(3rd) kütüphane kullanmadan Kotlin ile kamera görüntüsü alınabilmektedir. Aşağıdaki adımları takip ederek geliştirdiğiniz uygulamada kamera ile görüntü alabilirsiniz.
İlk olarak Android Studio ile kotlin destekli bir Android uygulaması oluşturun.
Uygulamada kamerayı açmak ve kameradan alınacak görüntüyü kullanıcıya göstermek için birer Button ve ImageView'a ihtiyaç olacaktır. ImageView ve Button'u layout/activity_main.xml dosyasına ekleyin.
layout/activity_main.xml dosyasının son hali aşağıdaki gibi olmalıdır.
|
Üstte bahsedilen camera ve disk erişimi yetkileri için ise AndroidManifest.xml dosyasına android.permission.CAMERA ve android.permission.WRITE_EXTERNAL_STORAGE izinlerini ekleyin.
AndroidManifest.xml dosyasının son hali aşağıdaki gibi olacaktır.
|
Son adım olarak ta MainActivity.kt class'ına giderek birkaç satır kotlin koduna ihtiyaç duyulacaktır. Burada imageCaptureBtn'a onClickListner set edilerek kullanıcının kamera açma isteği algılanacaktır. Button'a tıklandıktan sonra camera erişimi olup olmadığı kontrol edilecektir. Eğer erişim verilmemişse kullanıcı gereken yetkileri vermesi için Toast mesajı ile bilgilendirilecektir. Bu erişim yetkisi isteme işlemi BuildVersion (API) 23 ve üzeri için geçerlidir. Dolayısıyla kodlamada BuildVersion kontrolü yapılarak ilerlenmiştir.
MainActivity.kt dosyasının son hali aşağıdaki gibi olacaktır.
|
Bu aşamalardan sonra uygulama ilk çalıştığında tanımlı izinler için kullanıcıdan onay isteyecektir. Gereken izinleri vererek uygulamayı test edebilirsiniz.
NOT1: Activity'nin onRequestPermission methodu override edilerek camera erişimi için gereken izin alınıp alınmadığı kontrol edilmiştir. İzin varsa camera açılmış yoksa kullanıcıya izin vermesi için mesaj gösterilmiştir. Bu işlemleri yapan kod bloğu aşağıdadır.
|
NOT2: Yine FragmentActivity'nin onActivityResult methodu override edilerek kamera görüntüsü alıntıktan sonra işlemin başarılı bir şelikde snuçlandığından emin olunarak camera görüntüsü kullanıcıya gösterilmek üzere ekrandaki ImageView'a set edilmiştir. Bu işlemleri gerçekleştiren kotlin satırları aşağıdadır.
|
Uygulamanın kaynak kodlarına aşağıdaki linkten erişebilirsiniz.
github:
Herkse merhaba,
bu yazımda Kotlin ile ProgressBar gösterimini paylaşacağım.
İlk adım olarak Android Studio ile Kotlin destekli bir Android projesi oluşturun.
layout/activity_main.xml dosyasına geçerek buraya bir ProgressBar componenti ekleyin. ProgressBar'ın ilerleme statüsünü gösteren bir TextView ve ProgressBar'ı tetiklemek için bir Button ekleyin.
Dosyanın son hali aşağıdaki gibi olacaktır.
|
MainActivity.kt class'ına giderek ProgressBar için bir setOnClickListener tanımlayın. Daha sonra butona tıklayınca ekranda ProgressBar'ın görünmesi için progressBarComp.setVisibility(View.VISIBLE) satırını ekleyin. Farklı bir thread de ProgressBar'ın statüsünü 1 saniye aralıkla beşer beşer artırın. Handler().post(...) methodu aracılığıyla main thread deki textView'a erişerek ProgressBar değerini ekrana basın. Son olarak ProgressBar ilerleme değeri 100 olduğunda ProgressBar'ın görünürlüğünü kapatın(progressBarComp.setVisibility(View.INVISIBLE)).
MainActivity.kt dosyasının son hali aşağıdaki gibi olacaktır.
|
Uygulamanın kaynak kodlarına aşağıdan erişebilirsiniz.
Github :
Merhaba,
bu yazımda Android uygulamasında Kotlin ile DatePicker ve TimePicker nasıl ekleneceğini paylaşacağım. Aslında Android projelerinin içinde hazır komponent şeklinde DatePicker ve TimePicker bulunmaktadır. Ancak burada geliştirilen uygulamada kotlin ile programatik bir şekilde DatePicker ve TimePicker diyaloğu örneklenmiştir. Uygulamada iki adet buton eklenmiştir. Bu butonlara basınca DatePicker ve TimePicker diyalog şeklinde gösterilmektedir. Daha sonra kullanıcın seçimi activity_main.xml'e eklenen textView lar aracılığıyla yine ekranda gösterilmektedir.
İlk olarak Android Studio aracılığıyla bir Kotlin projesi oluşturun.
Öncelikli olarak oluşturulan projede activity_main.xml dosyasını LinearLayout olarak düzenleyin. Bu sayede ekrana eklenen componentler blok şeklinde gösterilecektir. activity_main.xml dosyasına 2 adet TextView ve 2 adet Button ekleyin. Butonlara tıklayınca DatePicker ve TimePicker açılacak, TextView larda ise seçilen değerler gösterilecektir.
activity_main.xml dosyasının içeriği aşağıdaki gibi olmalıdır.
|
Uygulamanın sonraki adımlarında MainActivity.kt dosyasına geçilerek onCreate methodunda Date ve Time picker için TextView üzerinde varsayılan değer verilmiştir.
|
Yine hem TimePicker hem de DatePicker butonları için setOnClickListener methodları tanımlanarak içerisinde DatePicker ve TimePicker'ın dialog olarak gösterimi sağlanmıştır.
DatePickerDialog.OnDateSetListener ile kullanıcının seçtiği tarih değeri alınarak TextView da gösterilmiştir.
TimePickerDialog.OnTimeSetListener methodu ile de kullanıcının seçtiği zaman değeri yine TextView da gösterilmiştir.
MainActivity.kt dosyasının son hali aşağıdaki gibi olacaktır.
|
uygulamanın kaynak kodlarına aşağıdaki linkten ulaşabilirsiniz.
github: https://github.com/lvntyldz/tutorials/tree/master/kotlin-android-app-examples/08-date-time-picker
Herkese merhaba,
bu yazımda Kotlin ile bir API den veri okuyarak GridView üzerinden nasıl listeleneceiğini paylaşacağım.
İlk olarak Android Studio ile bir Kotlin projesi oluşturun.
Ardından uygulamanın internete çıkabilmesi için AndroidManifest.xml dosyasına gereken tanımlamayı yapın. Dosyanın son hali aşağıdaki gibi olmalıdır.
|
API den dönecek olan response'ları dönüştürmek için Photo.kt adında bir class file oluşturun.
Photo.kt class'ı aşağıdaki gibi olmalıdır.
|
Photo objelerini bir list halinde GridView'e verebilmek için PhotoAdapter.kt adında bir class oluşturun.
PhotoAdapter.kt class'ının içeriği aşağıdaki gibi olmalıdır.
|
activity_main.xml dosyası içerisine bir GridView ekleyin. Dosyasın son hali aşağıdaki gibi olmalıdır.
|
activity_main.xml dosyasının yanına GridView içeriği olması için photo_content.xml adında bir xml dosyası oluşturun. Bu xml dosyası LinearLayout içinde bir TextView ve bir ImageView barındıracaktır.
photo_content.xml dosyasının son hali aşağıdaki gibi olacaktır.
|
Tüm bu adımlardan sonra MainActivity'e giderek onCreate methodunda çağrılmak üzere bir doApiCall(...) methodu oluşturun. Bu method içerisinde varsayılan olarak asenkron bir şekilde yapılan HttpRequest ler countDownLatch.await() ile senkron hale getirilmiştir.
MainActivity.kt dosyasının son hali aşağıdaki gibi olmalıdır.
|
uygylamanın kaynak kodlarına aşağıdaki linkten erişebilirsiniz.