RSS çeşitli internet siteleri tarafından yayınlanan haber vb. içeriğin tek
bir ortamdan topluca izlenebilmesine olanak sağlayan yeni bir içerik besleme
yöntemidir. RSS – Real Simple Syndication,
RDF Site Summary veya RichSite 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. RSS dosyalarının kullanımı her geçen gün artarak
yaygınlaşmaktadır.
RSS yöntemini destekleyen sitelerin hazırladıkları XML biçimli dosyalara
bir çok programla erişmek mümkündür. XML okuyucusu olan bu programlar, web
gezgini veya e-posta istemcisi olabileceği gibi sadece RSS içeriği izlemek için
hazırlanan masaüstü programları da olabilir.
İşte biz de bu yazımızda bir RSS linkinden gerekli bilgilerin nasıl
çekildiğini öğreneceğiz.
RSS dosyalarında ki xml tag leri genelde aynıdır.Bunlar "title","content","date"
ilh.
Tagler genelde aynı olduğundan,Java da RSS okuma işlemi için iki tane
kütüphane yazılmıştır.Bu iki kütüphaneyi de projemize eklememiz gerekir.Bu
kütüphaneler JDOM ve rome kütüphaneleridir.JDOM u buradan , rome
kütüphanesini ise buradan
indirebilirsiniz.
Bu kütüphaneleri indirip projemize ekledikten sonra artık kodlamaya
başlayabiliriz demektir.RSS linki olarak kendi blogumun rss feed ini kullandım.
BlogItems.java
public class BlogItems implements
Serializable {
private String title;
private String content;
private String date;
public BlogItems(String title, String content,
String date) {
this.title = title;
this.content = content;
this.date = date;
}
public String getTitle()
{
return title;
}
public void
setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void
setContent(String content) {
this.content = content;
}
public String getDate() {
return date;
}
public void
setDate(String date) {
this.date = date;
}
}
BlogVeriler.java
public class BlogVeriler {
private List<BlogItems> blogItems = new
ArrayList<BlogItems>();
private String url
= "http://mesutemre.blogspot.com/feeds/posts/default?alt=rss";
public List<BlogItems> getBlogItems() {
return blogItems;
}
public void
setBlogItems(List<BlogItems> blogItems) {
this.blogItems
= blogItems;
}
public void
verileriGetir() {
try {
URLConnection feedUrl = new URL(url).openConnection();
SyndFeedInput input = new SyndFeedInput();
SyndFeed
feed = input.build(new
com.sun.syndication.io.XmlReader(feedUrl) {
});
List<SyndEntry> feedList = feed.getEntries();
int feedSize = feedList.size();
for (int i = 0;
i < feedSize; i++) {
SyndEntry entry = (SyndEntry) feedList.get(i);
String
title = entry.getTitle();
String
content = entry.getDescription().getValue();
String
date = entry.getPublishedDate().toString();
blogItems.add(new
BlogItems(title, content, date));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Hiç yorum yok:
Yorum Gönder