Merhaba,
bu yazımda Kotlin ilen Android uygulamasında bir API isteğinin(request) nasıl yapılacağını paylaşacağım. Bu uygulama geliştirilirken HTTP istekleri OkHttpClient ile gerçekleştirilmiştir. Örnek veriler için jsonplaceholder("https://jsonplaceholder.typicode.com/photos") adresindeki API(endpoint) kullanılmıştır. Gson(google) kütüphanesiyle de API den dönen JSON string veri Kotlin Objelerine dönüştürülmüştür.
Aşağıdaki adımları takip ederek API request'inin nasıl yapıldığını inceleyebilirsiniz.
ilk olarak Android Studio ile bir Kotlin projesi oluşturun.
Oluşturduğunuz uygulamada app/build.gradle dosyasını açarak OkHttpClient kütüphanesini ekleyin. Bu sayede gradle belirttiğiniz versiyondaki OkHttpClient kütüphanesini indirip projeye ekleyecektir.
ikinci olarak yine aynı amaçla ve aynı şekilde Gson kütüphanesini build.gradle dosyasına ekleyin.
AndroidManifest.xml dosyasına aşağıdaki satırı ekleyerek uygulamanın internete çıkmasına izin verin.
|
API den dönen response verisini Kotlin nesnesine dönüştürmede kullanmak için Photo.kt adında bir kotlin class'ı oluşturun.
Photo.kt dosyasının içeriği aşağıdaki gibi olmalıdır.
|
Son olarak MainActivity.kt'ye gelerek run adında URL parametresi alan bir kotlin methodu oluşturun. Bu method içinde OkHttpClient.newCall'ın success ve failure methodları override edilmiştir. Success methodunda API den dönen beri GSON ile Photo nesnesine dönüştürülmüştür. Son adımda ise run methodu onCreate methodu içinde çağrılarak API çağrısı gerçekleştirilmiştir.
MainActivity.kt dosyasının son hali aşağıdaki gibi oluşacaktır.
|
NOT: Uygulamayı başlattıktan sonra manifest dosyasında değişiklik yaparsanız buradaki değişiklikleriniz uygulamaya yansımayacaktır. Dolayısıyla internet erişimi için verdiğiniz izin uygulama tarafına yansımayıp aşağıdaki gibi bir error mesajı oluşacaktır. Bunu durumun çözümü için uygulamayı kaldırarak yeniden Android Studio üzerinden başlatmanız gerekir.
I/System.out: Error! e:socket failed: EPERM (Operation not permitted)
Uygulamanın kaynak kodlarına aşağıdaki adresten ulaşabilirsiniz.
github : https://github.com/lvntyldz/tutorials/tree/master/kotlin-android-app-examples/06-api-call
Hiç yorum yok:
Yorum Gönder