Merhaba Arkadaşlar
Bu yazımda sizlerle uygulamalarımıza RSS Reader özelliği nasıl kazandırabiliriz sorusunun cevabını paylaşacağım. İsterseniz önce RSS nedir ne değildir biraz bundan bahsedelim. RSS, internet siteleri tarafından yayınlanan haber vb. içeriğin tek bir ortamdan topluca izlenebilmesine olanak sağlayan bir içerik besleme yöntemidir. RSS –Real Simple Syndication, RDF Site Summary veya Rich Site Summary (Zengin Site Özeti) kelimelerinin baş harflerinden oluşan kısaltmadır. XML biçiminde olan RSS dosyaları ilk olarak NetScape firması tarafından geliştirilmeye başlanmıştır.
Biz bu sistemi Android uygulamamızda kullanacağız. Bu blog içerisinde bulunan yazıları RSS Reader yardımıyla ListView ile uygulamada göstereceğiz. Ardından listenin her bir satırına dokununca o yazıyı cihazın kendi tarayıcısında gösterilmesini sağlayacağız. Uygulamamızda sınıf içerisinde sınıf kullanacağız. İkinci sınıf olarak arkaplan işlerinde bize çok yardımı olan AsyncTask sınıfını kullanacağız.
Bu bloğun RSS kısmını kullanacağız. Linke tıklayıp gördüğünüz gibi xml formatında yazılar bize sunulmuş. Şimdi bunu uygulamamızda nasıl kullanacağımızı görelim. Bize içerisinde yazının başlığı ve yazının linkini Arraylist olarak döndüren, RSS Reader işlemini gerçekleştiren metodları görelim. Metodları isimleri getListFromXML ve getLinkFromXml olsun. Metodlarımızın son hali şöyle olacak.
Şimdi daha önce anlattığım gibi bir Custom Adapter sınıfı oluşturuyoruz. Sınıfımız şöyle olacak.
Ana Activity içerisinde bir sınıf daha oluşturalım. İsmi BackgroundProcesses olsun. Bu sınıfa AsyncTask sınıfını extend edelim ve biraz bu sınıfı anlatalım. AsyncTask extend edilmiş sınıflarda doInBackground metodu bulunması zorunludur ve arka planda gerçekleştirilecek bütün işlemler bu metod içerisinde yazılır. Diğer metodlara da ufaktan değinirsek;
- onPreExecute: Arka plan işlemi başlamadan önce ön yüzde değiştirilmesi istenen istenilenleri yani değişken atamaları yapılır ve ProgressBar ile “Yükleniyor” tarzı bildirimler yapılır.
- onPostExecute: doInBackground metodu tamamlandıktan sonra işlemlerin sonucu bu metoda result değişkeni ile gönderilir. Arka plandaki işlemden gelen bir veri ön yüzde gösterilmek isteniyorsa bu metod kullanılır.
- onProgressUpdate: Eğer doInBackground metodu içerisinde yaptığınız işlemin ilerleme durumunu (örneğin RSS okuma) kullanıcıya bildirmek istiyorsanız bu metodu kullanabilirsiniz.
- onCancelled: Eğer herhangi bir sebepten dolayı AsyncTask iptal edilirse bu metod uyarılır.
Şimdi BackgroundProcesses sınıfımızın son halini görelim.
onCreate metodu ile listenin her bir satırına tıklayınca yazıyı uygulamanın tarayıcısı üzerinden açalım.
Artık her şey hazır. Şimdi uygulamamızı çalıştırıp görelim.
Uygulamamızın tüm kaynak kodlarına buradan ulaşabilir ve indirebilirsiniz.
Android’i bol günler…