Thursday , November 14 2019
Home / Android / Android ile Retrofit Kullanımı

Android ile Retrofit Kullanımı

Retrofit, Square tarafından geliştirilen open source bir REST istemcisidir. Öğrenmesi kolay olan bu kütüphanenin, yapılan işleri kolaylaştıran bir çok özelliği bulunmaktadır. Bu yazımızda bunlardan ve Retrofit’in kullanımından bahsedeceğiz.

Java’nın annotationlarını kullanarak Rest interface içerisinde isteklerimizi oluşturup  daha sonra istek yapabilmek için bu interface methodunu  çağırmak yeterlidir. Yaptığımız istekten sonra methodumuzda veridiğimiz türden bir geri dönüş objesi dönecektir.

Retrofit olmasaydı işlerimizi AsyncTask ile halledecektik. Retrofit’e alternatif olabilecek bir de Volley kütüphanesi vardır. Bu 3 yapı arasında genel bir karşılaştırma yapacak olursak;

restful_volley_asynctask

Karşılaştırma listemize baktığımızda Retrofit’in Volley’den yaklaşık 2 kat AsyncTask’dan ise 3 kat daha hızlı olduğunu görüyoruz. Multi requestlerde ise bu oranın daha da arttığı görülmekte.

Ayrıca, Retrofit kütüphanesinde kullandığımız Callback Interface yapısı ile otomatik olarak hataları ve cachelemeyi kontrol edebiliyoruz.

Retrofit kütüphanesini kullanabilmek için önce Gradle içerisine Retrofit’in bağımlılıklarını eklemek gerekmektedir.

Gradle içerisine yazdığımız bağımlılıkları inceleyecek olursak:

Retrofit: Retrofit’i kullanabilmek için gerekli ana kütüphanemizdir.

Okhhtp: Okhttp, Square tarafından geliştirilmiş başka bir http client kütüphanesidir. Sunucuya giden Get ve Post isteklerini, header eklemeyi, cevapları işleme işlerini sağlamaktadır.

Converter-Gson: Converter-gson kütüphanesi ise Json Objelerini, Java objesine çevirme işini yapmaktadır. Bu kütüphaneyi Http responseları ile gelen cevapları yazdığımız model objelerimize bind ederken kullanacağız.

Sonuçta istek yaparken internet kullanacağımız için AndroidManifest.xml dosyasına

iznini eklememiz gerekmektedir.

Bağımlılık ve izin işlemlerini hallettikten sonra şimdi örneğimize geçebiliriz. Bu örneğimizde Restful ile Github Api kullanacağız.

Oncelikle isteklerimizi atacağımız Restful için interfaceimizi yazalım.

Şimdi Base Url’imizi belirleyelim. Base url, Gihub api kullandığımız için,

olacaktır.

Daha sonra endpointi verip build ettiğimiz bir RestAdapter objesi üretmemiz gerekmektedir.

Artık Github interfacemizden oluşturduğumuz istek atacağımız git objesini de oluşturduktan sonra interfacemizde oluşturduğumuz  getFeed  get isteğimizi atabiliriz.

Eğer başarılı bir şekilde get isteğimizi alabilirsek kodumuz successe düşecek ve GitModel’den türeyen gitModel objemiz dolu halde gelecektir. Daha sonra gitModel objemizi istediğimiz gibi gerekli yerlerde kullanabiliriz.

Eğer istek başarılı olmazsa failure kısmına düşecektir. Bu durumda hatayı handle edip ekrana uyarı çıkarmak gerekebilir.

Get isteğini bind ettiğimiz model objemize buradan ulaşabilirsiniz.

Başka bir yazımızda görüşmek üzere.

İyi akşamlar :)

About Burak

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Download Free Premium Joomla Templates • FREE High-quality Joomla! Designs BIGtheme.net