Android Retrofit Kütüphanesi ile Post İşlemi

Bir önceki yazımızda web servis ile iletişim kurmak adına Android üzerinde “Volley” kütüphanesi ile “post” işlemine bakmıştık. Dilerseniz buradan okuyabilirsiniz. Bugün de benzer işlemi yapan açık kaynaklı olarak geliştirilen “Retrofit” kütüphanesine bakacağız.

İlk olarak “app->Gradle” içerisinde “dependencies” altına kütüphaneyi ekleyelim. Bunun yanında “Json” parçalamak için “Gson” kütüphanesini de ekleyelim.

Daha sonra “AndroidManifest.xml” içerisine Internet iznini ekleyelim.

Şimdi bir tane “Item” sınıfı yazalım. Bunun içerisinde gelecek olan değerlere ait değişkenler tanımlayalım. Bunu yaparken “annotation” kullanarak gelecek olan “Json” içerisinde ki değerlere karşılık verme amacıyla “@SerializedName(“”)” kullanalım. Bunun için öncelikle gelecek olan “Json” yapısını göz önüne almamız gerekiyor. Bizim burada örneğimizde ki yapı,

“Constructor” ve “getter” metotlarını da yazdıktan sonra sınıfımız alttaki şekilde oluyor.

Şimdi genel olarak uygulama içerisinde kullanacağımız “Retrofit Builder” yapısı için bir sınıf yazalım. İçerisinde “static” olarak değişkenler kullanacağız. Ayrıca burada bir tane Url için “BASE_URL” vereceğiz.

Bir tane de “interface” yazacağız. Bunun içerisinde uygulama içerisinde kullanacağımız tüm web servisi ile olan işlemlerin metotlarını ekleyeceğiz. İlk olarak parametre eklemeden bütün verileri alacağız. “@POST” içerisinde yukarı da yazdığımız “BASE_URL” e ekleyecek. Buraya yazacağımız metotlar “Call” sınıfında dönüş değerleri olacak ve içerisine yukarı da yazdığımız “Item” yapılarını vereceğiz.

Buradan sonra “MainActivity” içerisinde devam edelim. Global olarak

Tanımlayalım. Ardından,

Buradan sonra artık işlem yapabiliriz.

Log için yazan metodu da ekleyelim.

Şimdi bir “id” değeri ile birlikte veri çekelim. Bunun için öncelikle “ApiInterface” içerisine metotu ekleyelim.

Yollarken kullanacağımız değişken ismini “@Field” içerisinde veriyoruz. Değişken yollayabilmek içinde “@FormUrlEncoded” kullanmamız gerekmekte.
“MainActivity” içerisinde de yeni bir metot yazalım.

“MainActivity” sınıfının tam kodunu ekleyelim.

“ApiInterface” sınıfının kodları,

Teşekkürler, görüşmek üzere.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir