Blackberry ile XML ‘den Görsel Ara yüz Oluşturan Uygulama Gerçekleştirilmesi

Batuhan Düzgün tarafından yayınlanmıştır 9. February 2012 23:25

Merhaba arkadaşlar, uzun bir aradan sonra yine bir makale hazırlayabilme fırsatını yakalayabildim. Bu yazımızın konusu Blackberry ile Java programlama olacak. Blackberry bilindiği üzere Java ile geliştirme yapılabilsin diye bir SDK yayınladı. RIM adından bu SDK ile Blackberry akıllı telefonlar için uygulama geliştirebilirsiniz. Tabi şöyle bir gerçek varki özellikle ülkemizde Blackberry kurumsal yerlerde personel tarafından çokça kullanılmaktadır. Kurumsal firmalar için daha revaçta olan bir markadır. Bu sebeple IPhone veya Android gibi bireysel kullanıcılara yönelik uygulamalar yapıp fazla kazanç elde edemeyebilirsiniz. Bireysel kullanıcılar için uygulama geliştirme daha yoğunluklu olarak Android  ve IPhone için geçerlidir.

 

Xml’den Görsel Ara yüz Gerçekleştirme  ?

Uzak bir noktada bulunan bir Server cihazdan Xml formatında bir karakter dizisi geldiğini düşünelim ve uç  birimdeki cihazlarda bu Xml karakter dizisini alıp görsel ara yüze çeviren bir uygulama olduğunu düşünelim. İşte tamda yapmak istenilen bu örnek duruma küçük bir uygulama  gerçekleştirmektir.

 

Böyle bir uygulamayı gerçekleştirirken Xml  ayrıştırma işlemi ve görsel oluşturma işlemi iki ayrı major iştir. Bu sebeple iki sitem geliştirip, Xml ayrıştırma ve görsel oluşturma işlemlerini birbirinden ayrılacaktır.

 

Bu uygulamayı gerçekleştirirken aşağıdaki tasarım desenleri kullanılacaktır.

1-) Chain Of Responsibility (Sorumluluk Zinciri)

2-) Facade  (Ön Yüz)

3-) Abstract Factory (Soyut Fabrika)

 

Blackberry ile geliştirme yapabilmek için öncelikle aşağıda tavsiye edilen  kurulumlar yapılır.

1-) Blackberry Eclipse Plug-In  1.3  >>  http://swdownloads.blackberry.com/Downloads/contactFormPreload.do?code=DC727151E5D55DDE1E950767CF861CA5&dl=0A360EA0B8874AF27D7A9098C0AA86C3&check1=A

2-) Blackberry JDE  >>  https://swdownloads.blackberry.com/Downloads/contactFormPreload.do?code=DC727151E5D55DDE1E950767CF861CA5&dl=9C589A7D215D5454FB860AB26550B88D

 

Kurulumlardan sonra Eclipse’i başlatıp yavaştan kodları yazmaya başlayabiliriz. Tabi her şeyden önce haberleşmemizi sağlayan Xml formatı belirlenir. Aşağıda örnek Xml verilmiştir.

 

<Layout>

                <No>1</No>

                <Baslik>Fenerbahce  Taraftar Formu</Baslik>

                <Sayfa>

                               <No>1</No>

                               <Baslik>FENERBAHCE</Baslik>

                               <Panel>

                                               <TextBox>

                                                               <No>1</No>

                                                               <Label>En sevdiğiniz futbolcumuz : </Label>

                                                               <NullText>Yazı alanı …</NullText>

</TextBox>

<CheckBox>

               <No>2</No>

               <Label>En başarılı futbolcumuz kimdir ?</Label>

               <Items>

<Item>Alex De Souza </Item>

                               <Item>Volkan Demirel</Item>

<Item>Emre Belözoğlu</Item>

<Item>Gökhan Gönül </Item>

<Item>Mehmet Topuz </Item>

<Item>Miroslav Stoch</Item>

<Item>Zeto Ziegler</Item>

<Item>Selçuk Şahin</Item>

</Items>

</CheckBox>

                               </Panel>

</Sayfa>

</Layout>

 

Örnek Xml formatımız yukarıdaki gibi belilrlendi. Programlama yaparken yukarıda anlattığımız örnek durumun çözümü için şöyle bir sistem düzenlenecektir.

 

1-) Xml ayrıştırma işlemi Layout >> Sayfa >> Panel >> Bileşenler şeklinde bir düzende ilerliyor. Yani her kısmın kendine ait Xml özellikleri ayrıştırılıp, bir altta yer alan düğüme geçiliyor.  Buda Chain Of Responsbility tasarım deseni için tam uygun bir durum. Çünkü her kısım kendine ait kısmı ayrıştırıp, kendisine ait olmayan kısmı zincirin bir sonraki halkası olan sınıfa devredecektir. Böylece, her kısım kendine ait olan kısmı ayrıştırmış olacaktır.

2-) Xml ayrıştırma işleminde zincirin oluşturulması işlemi ardı sıra gerçekleşen bir durumdur. Yani örnekle şöyle açıklayabiliriz.

X nesnesini  Y’ ye bağla,    Y nesnesini  Z’ ye bağla şeklinde ilerleyen yapılarda işin yapılış prosedürü belli bir akışta ilerlemektedir. İşin yapılış süreci belli adımlar halinde ilerlemektedir. O nedenle Facade tasarım deseni bu duruma en uygun çözümdür.

3-) Görsel bileşen oluşturma işleminde ise “Yazı” bazlı bileşenlerin üretimi için bir sistem, “Seçilebilir” bazlı  bileşenlerin üretimi  için ise başka bir sistem kurulacaktır. Kısacası görsel bileşenleri oluşturma sorumluluğu belli sınıflara devredilecektir. Bir bileşen oluştur diye komut verildiğinde bu sistem kullanıma hazır bir nesne oluşturacaktır. Bu duruma en uygun çözüm ise Abstract Factory tasarım desenidir.

Artık Kodlamaya Geçelim …

Xml ayrıştırması yapmak için şu linkten open source olan bir projeyi indirip projeye dahil edilecektir.

 

http://kxml.objectweb.org/software/downloads/

 

 
 Ardından Eclipse Plug-In çalıştırılır. File >> New >> Blackberry Project yolu takip edilir ve boş bir proje oluşturulur. Blackberry Project seçeneğini göremeyen arkadaşlarımız panik olmasınlar, bu proje seçeneğini görebilmek için, aşağıdaki gibi geliştirme ortamınızı “Blackberry Application Development” yapmanız gerekecektir.
 
  
 

Ardından indirdiğimiz Xml ayrıştırıcıya ait paketi projeye dahil edilmesi gerekecektir. Bunun için Rar içinden “org” adlı klasör çıkartırılır. Bu klasörü proje klasöründe “src” isimli klasör içine kopyalanır. Ardından Eclipse’de proje isminin yazılı olduğu düğüme  sağ tıklanıp “Refresh” yapılır.

 

Aşağıda projemizin UML diyagramı yer almaktadır. 
 
 


Uygulamaya ait kaynak kodlar yandaki linktedir.  >>  http://www.2shared.com/file/PEzdkjzs/TasarmDesenleri.html  Bir sonraki makalemde görüşmek dileğiyle ... 
 
Batuhan Düzgün
 
Bilgisayar Mühendisi
 
Endüstri Mühendisi 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Blackberry

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  November 2018  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

Yazıları geniş takvimde göster