JSF

JSF Dersleri-Döviz Kuru Çekme Uygulaması

Merhaba arkadaşlar. Bu yazımızda başka bir siteden veri çekmeyi öğreneceğiz. Bu yazıyı hazırlamamda yazrdımcı olan Alper Özaslan‘a buradan teşekkürlerimi iletiyorum.

Verilerini çekeceğimiz sayfa Merkez Bankası’nın kurlarını gösteren sayfa. Eclipse geliştirme ortamında yazdığım projeyi buraya tıklayarak indirebilirsiniz. Özaslan tarafından yazılmış Swing uygulamasını indirmek isteyenler de buraya tıklayarak indirebilir. Uygulamada DOM-Document Object Model (Belge Nesne Modeli) kullanıldı. Şimdi uygulamamızın nasıl çalıştığını, ne yaptığını inceleyelim.

Xml kodlarını düzenlemek için buradaki sayfayı kullanabilirsiniz. Ben merkez bankasınız Xml kodlarını düzenlediğimde şöyle bir sonuç çıktı:

Bu işlemi neden yaptık diye sorarsanız Java’da yazacağımız kod ile değerleri çekeceğiz. Orada hangi isimler ile çekeceğimizi bilmek için Xml kodunu düzenleyip anlamamız gerekiyordu. Bu Xml kodunda her bir döviz Currency etiketi ile oluşturulmuş. Etiketin içinde de CurrencyName,Isim gibi başka etiketler var. Bu değerleri çekeceğiz.

Şimdi verileri çeken Java kodunu inceleyelim. Bu uygulamada asıl işlemi yapan kod TCMBReader sınıfı içindeki getCurrencies metodudur. Bu metot içinde xhtml sayfasında kullanacağımız listeyi oluşturduk ve metot sonunda return ettik. Daha sonra indireceğimiz Xml dosyasını parse ederken kullanacağımız builder nesnesini oluşturduk. Builder nesnesinin hangi URL’den indirip parse edeceğini bilmesi için de bir URL nesnesi oluşturup URL’i verdik. Ardından belgenin belleğe alınma işlemini tamamlamak için bir Document nesnesi oluşturduk ve verdiğimiz URL ile openStream yaparak akışı tamamladık.

Belgeyi belleğe aldıktan sonra Currency etiketli alanları tek tek topluyoruz ve bunu bir NodeList nesnesine aktarıyoruz. Akabinde bir for döngüsü ile tüm Currency etiketli alanlar içindeki ebilgileri çekiyoruz. Ana etiketli (Kod, CurrencyCode) bilgileri çekerken Element nesnesi işimize yarıyor. Alt etiketli (Isim, CurrencyName vb.) bilgiler içinse getCharacterDataFromElement, getFloat, getElementValue metotları ile bilgileri çekiyoruz.

Diğer Java sınıfımızda ise kullandığımız nesneler ve  get ve set metotları yer almakta. Xhtml sayfasında da dataTable kullandık. Ekran çıktısına ve merkez bankasının şu anki verilerine bakıp karşılaştırma yapalım. Resmi net görmek için üstüne tıklayın.

Adsız

 

 

 

 

 

 

 

 

 

Bu yazıda da bu kadar arkadaşlar. Başka bir yazıda görüşmek üzere hoşçakalın.