WordPress API Kullanımı – Android Uygulama Geliştirme 12

İlk olarak yazı bilgilerimizi internet üzerinden çekeceğiz. Teknotra, WordPress tabanlı bir web site olduğundan dolayı hazır tanımlı API bilgilerini kullanacağım. Bu bilgiler üzerinde az değişiklikler ile siz de kendi WordPress web sitenizin Android uygulamasını yapabilirsiniz. Kısaca bu yazıda WordPress API kullanımı yapacağız.

WordPress kendi içerisinde yazıları ve medyaları JSON formatında verebilen bir API barındırmaktadır. Bu API ile ilgili tüm bilgileri WordPress üzerinden edinebilirsiniz.

WordPress API Kullanımı Kodları

Cihazın internetini kullanacağımız için programın cihaz üzerinde internet kullanımı izni olması gerekmektedir. Bu izni belirtmek için programın AndroidManifes.Xml dosyasın <application etiketinden önce aşağıdaki kodu ekleyin.

<uses-permission android:name="android.permission.INTERNET" />

Java programlama dili kullanarak Android uygulaması yazarken internet üzerinden bir çok şekilde JSON alıp bunlarla işlem yapabilirsiniz. Ben Volley kütüphanesini kullanacağım.

Bunun için ilk olarak build.gradle dosyasına girip aşağıdaki satırı dependencies içerisine ekleyin. Ardından Sync demeyi unutmayın.

implementation 'com.mcxiaoke.volley:library:1.0.19'

Hazır burayı açmışken alacağımız JSON dosyasını parçalamak için kullanacağımız kütüphaneyi de ekleyelim. Yani dependencies içerisine aşağıdaki kod satırını da ekleyin ve ardından Sync diyin.

implementation 'com.google.code.gson:gson:1.7.2'

Benim önceki projelerimde de kullanmış olduğum bir kod bloğu var. Bir hata olursa asla o hatayı yakalamayan yakalasa da bir şey yapmayan çok kötü bir kod. Ancak bu açık kaynak kodlu proje için işimizi göreceğini düşünüyorum.

Bu fonksiyonu hem resmi alırken hem de yazının bilgilerini alırken kullandım. Fonksiyonların genel mantığını anlatacağım. Fonksiyonun kodlarına bakıp yorumlamak size aittir.

Her iki durumda da WordPress API’ına bir GET sorgusu attım ve gelen JSON bilgisini parçaladım yani deserialize ettim. Resimleri alırken recursive bir fonksiyon yapısı kullandım.

Yazı ve resim bilgilerinin sonucu yani JSON dosyasını deserialize edebilmek için dosyasının yapısını bir Java sınıfı olarak programa tanıtmanız gerekmektedir. Bu tanıtma işini Json To Java Class tarzı online araçlar kullanarak yapabilirsiniz.

Resim ve yazı bilgilerini kendi oluşturduğum sınıfı kullanan listeye aldım. Listeyi CustomAdapter objemiz ile bağladım. Ekranda bu lisitenin elemanlarını gösterirken elemanlarda bazı düzenlemeler yaptım. Başlıkları title objesinden değil de slugdan aldığım için ilk harfleri büyük yazma fonksiyonu oluşturdum (yazı içerisinde i harfi problemi olacaktır). Resimleri URL’den bitmape dönüştürmek için Picasso kütüphanesini kullandım. Tarihin formatını düzenlemek için de basit bir fonksiyon yazdım.

Şimdilik liste içerisinde son 10 yazımızı alabiliyoruz. İlerleyen yazılarda daha fazla yazıyı almayı ve kategoriye göre liste yapmayı inceleyeceğiz.

Projenin tüm kodlarına projenin GitHub sayfasından ulaşabilirsiniz.

Son Yazılar

2 Yeni Dolandırıcılık Sistemi ve iCloud Kilidi Nedir ?

Günümüz şartlarında neredeyse her Apple ürünü iCloud Etkinleştirme kilidi özelliğine sahiptir. Bu kilit bir çok… Daha fazla oku

17 saat önce

iCloud Öncesi Kullanılan Şu Anda Unutulanlar Apple Servisleri

Apple sattığı cihazlardan para kazandığı kadar servisleri ile de para kazanan bir firma olmuştur. Son… Daha fazla oku

2 gün önce

Elmadan Haberler 3 – iPhone SE 4 İptal Edildi – Üretim Vietnam’da

Elmadan haberler 3 içerisindeki gündem şu şekildedir: Apple TV Android Akıllı Cep Telefonu ve Tabletlere… Daha fazla oku

3 gün önce

iPhone Güncelleme Sonrası Pil Sağlığı Neden Düşer ?

iPhone Güncelleme sonrası pil sağlığı neden düşer son derece fazla aldığım diğer bir sorudur. Bu… Daha fazla oku

6 gün önce

iPhone iOS 16.2 İpuçları – Programsız Video İndirme ve Dahası

Bilinçli iPhone Kullanıcısı video serisi kapsamında iPhone iOS 16.2 ipuçları bu yazıda ele alacağım bir… Daha fazla oku

1 hafta önce

Face ID vs Touch ID ? Hangisi Daha Güvenilir Hangisi Daha Hızlı ?

iPhone modellerinde güvenlik için Touch ID teknolojisini de Face ID teknolojisini de kullandık. iPhone SE… Daha fazla oku

2 hafta önce

Bu web site kullanıcı deneyimini arttırmak amacı ile çerezleri kullanmaktadır