Blackberry ile Java Programlamaya Giriş

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

Merhaba arkadaşlar Java ile mobil ve akıllı cihazlara yönelik programlamaya ilişkin bir giriş yazısı ile karşınızdayım. Bu yazıda sizlere Blackberry mobil telefonlara uygulama geliştirmek adına basit bir örnekle anlatacağım. Yazının içeriği görsel bileşenleri kullanmaya yönelik olacaktır.

Yapacağımız uygulama ekrandan kişiye ait bilgileri alacak ve bu bilgileri “Kaydet” butonuna basılınca AlertDialog şeklinde ekranda gösterecektir.

Öncelikli olarak Blackberry ile uygulama geliştirebilmek için Eclipse ve Blackberry SDK yüklü olması gerekmektedir. Bunu Blackberry Developer Zone sitesinden indirip kurabilirsiniz. Eğer, hesabınız yok ise yeni bir hesap açıp, SDK’ yı indirebilirsiniz. Aşağıdaki linkten indirebilirsiniz. 

http://us.blackberry.com/developers/

Şimdi Blackberry Eclipse eklentisini çalıştırıp kod yazmaya başlayalım. Aşağıdaki resimde görüldüğü üzere yeni bir proje başlatabilirsiniz.

 

Ardından gelen proje hiyerarşisinde, “src” adlı klasöre çift tıklayıp package’i açıyoruz. “MainScreen” sınıfından kalıtım almış olan sınıfı açıyoruz. MainScreen sınıfından kalıtım almış bir sınıf ekrana render edilecek olan sınıftır. Bu şu anlama geliyor ki, Blackberry mobil cihazlarda ekrana görsel bileşenlerin çizdirileceği sınıf MainScreen sınıfıdır. Bu sınıf sayesinde ekrana görsel bileşenleri çizdirebiliyoruz.

Android’ deki Activity sınıfının yaptığı işin aynısı Blackberry’ de MainScreen ile yapılmaktadır.

Evet, Blackberry ile ilgili ilk uygulamayı geliştirebilmek adına biraz kod yazalım. MainScreen sınıfından kalıtım almış olan MyScreen sınıfını açıyorum. Ardından, aşağıdaki kodları yazıyorum.

packagemypackage;

 

importnet.rim.device.api.ui.Color;

importnet.rim.device.api.ui.Field;

importnet.rim.device.api.ui.FieldChangeListener;

importnet.rim.device.api.ui.component.ButtonField;

importnet.rim.device.api.ui.component.Dialog;

importnet.rim.device.api.ui.component.EditField;

importnet.rim.device.api.ui.component.LabelField;

importnet.rim.device.api.ui.container.MainScreen;

 

/**

 * A class extending the MainScreen class, which provides default standard

 * behavior for BlackBerry GUI applications.

 */

publicfinalclassMyScreen extendsMainScreen

{

    /**

     * Creates a new MyScreen object

     */

      EditField EdtUserName;

      EditField EdtUserSurName;

      EditField EdtUserTelephoneNumber;

      EditField EdtUserCompanyName;

     

    publicMyScreen()

    {       

        // Set the displayed title of the screen      

        setTitle("Blackberry Application");

        // LabelField ile ekrana statik yazı alanı yazdırıyoruz.

        // LabelField C# dilinde Label bileşene denk düşmektedir.

        // Android'de ise TextView ile aynı işleve sahiptir.

        LabelField LabelofTextBox = newLabelField();

        LabelofTextBox.setText(" *** Welcome to The Blackberry Mobile World *** ");

       

        // EditField ile ekrana yazı alanı çıkartıyoruz.

        // EditField C# dilinde TextBox bileşeniyle,

        // Androidde ise EditText ile aynı işleve sahiptir.

        // EditField bileşenini oluştururken arka planında rengi değiştirmek için,

        // paint adlı metodu override edeceğimBöylece EditField'ın arka planındaki renközelliğini,

        // istediğim renge dönüştürmüş olacağım.

        EdtUserName= newEditField("", "") {

            publicvoidpaint(net.rim.device.api.ui.Graphics g) {

                  // Arka plan rengini Mavi yapıyorum.

                  g.setBackgroundColor(Color.BLUE);

                  // Graphics'ten üretilmiş olan g adlı değişkeni temizliyorum.

                  g.clear();

                  // Base sınıfın paint metodunu super.paint ile çağırıyorum

                  super.paint(g);

            }

        };

        // Şimdi farklı renklerde bir kaç EditField oluşturalım.

        EdtUserSurName= newEditField("", "") {

            publicvoidpaint(net.rim.device.api.ui.Graphics g) {

                  // Arka plan rengini Sarı yapıyorum.

                  g.setBackgroundColor(Color.YELLOW);

                  // Graphics'ten üretilmiş olan g adlı değişkeni temizliyorum.

                  g.clear();

                  // Base sınıfın paint metodunu super.paint ile çağırıyorum

                  super.paint(g);

            }

        };

        EdtUserTelephoneNumber= newEditField("", "") {

            publicvoidpaint(net.rim.device.api.ui.Graphics g) {

                  // Arka plan rengini Yeşil yapıyorum.

                  g.setBackgroundColor(Color.GREEN);

                  // Graphics'ten üretilmiş olan g adlı değişkeni temizliyorum.

                  g.clear();

                  // Base sınıfın paint metodunu super.paint ile çağırıyorum

                  super.paint(g);

            }

        };

        EdtUserCompanyName= newEditField("", "") {

            publicvoidpaint(net.rim.device.api.ui.Graphics g) {

                  // Arka plan rengini Açık Mavi yapıyorum.

                  g.setBackgroundColor(Color.LIGHTSTEELBLUE);

                  // Graphics'ten üretilmiş olan g adlı değişkeni temizliyorum.

                  g.clear();

                  // Base sınıfın paint metodunu super.paint ile çağırıyorum

                  super.paint(g);

            }

        };

        // Bir adet ButtonField nesnesi üretiyorum. Böylece girilen bilgileri alert dialogta,

        // butona tıklanınca göstereceğim.

        ButtonField BtnSave = newButtonField() {

            publicvoidlayout(intheight, intwidth) {

                  super.layout(100, 100);

                  setExtent(100, 100);

            }

        };

        // BtnSave adlı ButtonField nesnesine tıklama olayı bağlıyorum.

        // Böylece tıklama olayında AlertDialog çıkartacağım.

        BtnSave.setLabel("Kaydet");

        BtnSave.setChangeListener(newFieldChangeListener() {

                 

                  publicvoidfieldChanged(Field field, intcontext) {

                        // Tıklama olayı gerçekleştiğinde aşağıdaki metod çalıştırılacak.

                        ShowPersonelData();

                  }

            });

       

        // add metodu ile görsel bileşenler ekranda gösterilmek üzere eklenir.

        add(LabelofTextBox);

        add(EdtUserName);

        add(EdtUserSurName);

        add(EdtUserTelephoneNumber);

        add(EdtUserCompanyName);

        add(BtnSave);

    }

    // Ekrana bilgileri yazdıracağım metod.

    publicvoidShowPersonelData() {

      // EditField bileşenleri içinde yer alan yazıları String bir değişkende topluyorum.

      String MessageData = EdtUserCompanyName.getText() +" "+ EdtUserName.getText() +" "+

                           EdtUserSurName.getText() +" "+ EdtUserTelephoneNumber.getText();

      // Alert Dialog çıkartma işlemi aşağıdaki kod satırında gerçekleştiriliyor.

      Dialog.alert(MessageData);

    }

}

 

Yukarıdaki görüldüğü üzere 4 adet EditField eklendi. 1 adet ButtonField eklendi. Böylece, butona tıklandığında yazı alanlarında bulunan yazılar bir Alert Dialog ile ekranda gösterilecektir.

Projeyi “Run” tuşuna basıyoruz. Sonuç aşağıdaki gibidir.

 

 

Kırmızı çember içine alınmış olan uygulamaya tıklıyoruz. Sizde uygulama ismini bularak uygulamanızı açabilirsiniz.

 

Evet bir makalemin daha sonuna geldim. 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

<<  September 2018  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

Yazıları geniş takvimde göster