SA, hocam. Ben de uzun zamandır Java kodlayan birisiyim, bu konu hakkındaki bilgilerimi sizle paylaşmak isterim. Server'dan Frontend'e veri çekmek için, yani senin de dediğin gibi istemci ve sunucu arasındaki API iletişimi için Java ve Kotlin için ortak olan Retrofit ve Volley kütüphanelerini kullanabilirsin. Bunların yanı sıra bildiğim kadarıyla OkHttpClient ve HttpURLConnection sınıfları da bulunuyor; tabii HttpURLConnection default olarak senin projende bulunuyor, yani başka bir deyişle bu modülü indirmen için ekstra bir adıma gerek yok. Ayrıca sunucudan resim çekmek için Picasso ve resim / video çekmek için de Glide falan da kullanabilirsin.
Bunların nasıl yapıldığının teker teker videolarına bakabilirsin YouTube'da. Sana bu konuda asynchronous (eş zamansız) bir çalışma yapısına sahil olan Retrofit öneririm, mesela YouTube'a "Usage of the Retrofit library in Kotlin" yazabilirsin. Retrofit, kaynakları optimize kullanan ve çok resource tüketmeyen bir library, aynı zamanda async bir şekilde çalışması onun daha hızlı ve daha etkili olmasını sağlıyor; bu konuda rahat olabilirsin.
Bu arada bu anlattıklarım, HTTP ve HTTPS protokolleri için geçerli.
TCP / UDP / IP ağ protokollerini kullanan bir sunucun varsa TCP için Socket sınıfını ve UDP için de DatagramSocket sınıflarını kullanabilirsin.
Başka aklıma gelen yok, olursa söylerim.
Bu arada senin için bir tane link buldum:
Kotlin'de Retrofit ile API'den Veri Çekme
Evet, hocam. Her programlama dilinde, ister bu C/C++ ya da C# ve Java ile Kotlin falan olsun, mümkündür. İstediğiniz programlama dilinde API call (API çağrıları) yapabilirsiniz. Ancak Kotlin ve Java için API çağrılarını UI tarafında veya direkt class oluşturarak 2 şekilde yapabilirsiniz.Açık konuşmak gerekirse dediklerinizden pek bir şey anlamadım, ben öncesinde Python kodluyordum ve Kotlin'e yeni geçtim. API mantığı Python'da gayet kolay mesela Beatifulsoup kullanılarak kolay bi şekilde veri çekilebilir, yani Kotlin'deki de buna benzer mi? Mesela API key ve Token ile basit bir şekilde API gerektiren programlar yazılabilir mi? Yani özetle işi pek bilmeyen bilen anlatır gibi anlatır mısınız?
Teşekkürler, peki bunun nasıl yapıldığını anlatan ücretli/ücretsiz herhangi bir eğitim var mı (benim Udemy'de aldığım eğitime dahil değildi.)Evet, hocam. Her programlama dilinde, ister bu C/C++ ya da C# ve Java ile Kotlin falan olsun, mümkündür. İstediğiniz programlama dilinde API call (API çağrıları) yapabilirsiniz. Ancak Kotlin ve Java için API çağrılarını UI tarafında veya direkt class oluşturarak 2 şekilde yapabilirsiniz.
Mesela UI tarafında bir EditText'ten aldığınız text'i JSON body içerisine yerleştirip server'a gönderebilirsiniz ya da server'dan GET metodu ile veri çekip elde ettiğiniz JSON body'deki birkaç veriyi bir UI view'ına (görsel nesnesine) aktarabilirsiniz.
Class tarafında ise UI bazlı bir işlem yok, direkt server'a API call yapıyorsunuz ve server yanıt döndürünce bu yanıt sizin terminale düşüyor.
YouTube'a "API call with Retrofit in Kotlin" yazarak istediğiniz videodan geliştirebilirsiniz.Teşekkürler, peki bunun nasıl yapıldığını anlatan ücretli/ücretsiz herhangi bir eğitim var mı (benim Udemy'de aldığım eğitime dahil değildi.)
Çok teşekkürler.YouTube'a "API call with Retrofit in Kotlin" yazarak istediğiniz videodan geliştirebilirsiniz.
Size Retrofit kütüphanesini önermemin sebebi, asenkron yapısından dolayı oldukça performanslı çalışan bir kütüphane olması.
Aynen öyle. Ben genellikle projelerimde ihtiyaçlarıma göre esnek olması açısından custom class'lar oluşturup OkHttpClient kullanıyorum. Mesela uygulamamın ismi Cravecomm ise ise CravecommService adında bir class oluşturup oraya post metodu ekliyorum ( bkz: cravecommService.post(url, jsonBody); ) ve bu nedenle server'a request göndermiş oluyorum OkHttpClient ile. Ancak Retrofit daha modüler bir yapıya sahip diye biliyorum. Bundan dolayı Retrofit'i önerdim + asynchronous (eş zamansız) yapısından dolayı performanslı bir şekilde çalışan bir library'dir Retrofit.Eger server-side Kotlin kullaniyorsan Spring WebClient ya da RestTemplate tavsiye ederim.
Mobil cihazlar icin soruyorsan Retrofit tavsiyesine katiliyorum. Apache'nin de HttpClient kutuphanesi ya OkHttp de kullanisli ama Retrofit'in dizayni daha guzel bana gore interface uzerinden yurudugu icin.
Eger Rest disinda browser simulasyonu yapacaksan ( redirect following, cookie management ) Ktor ve Apache daha one cikiyor.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.