İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Zafer Teker
tekzaf@yahoo.com

J2ME'ye Giriş

Giriş

Cep telefonlarında java programlarının çalıştığını gördünüz veya dıydunuz. Siz de cep telefonlarında çalışan bir java programı yapmak istiyorsunuz. Bunun için J2ME öğrenebilirsiniz. Bu yazıda J2ME'ye bir giriş yapılacaktır.

J2ME, java'nın cep telefonları gibi sınırlı özellikleri olan cihazlarda çalışması için geliştirilmiş bir edition'dır. Standart edition ile yaptığınız bir programı cep telefonunda çalıştıramazsınız. Cep telefonlarında çalışan bir program yapmak istiyorsanız J2ME öğrenmelisiniz.

İşe önce J2ME kodları geliştirebilmenizi ve çalıştırabilmenizi sağlayan bir program bularak başlamalısınız. Sun şirketinin sitesinden ücretsiz indirilebilen J2ME Wireless Toolkit'i indirebilirsiniz. Bu programın kendisi kod yazmak için değildir. Bu program başka bir editorde yazmış olduğunuz kodları derleyip sonucu görebilmenizi sağlar. Sun ONE Studio ME(Mobile Edition) ise kod yazmanızı, derlemenizi ve çalıştırmanızı sağlar.

J2ME edition'u şu paketlerden oluşmaktadır.

java.io,java.lang ve java.util paketleri standart sürümdeki class'ların hepsini içermez. Örneğin ArrayList,StringTokonizer gibi class'lar yoktur. javax.microedition.lcdui (lcdui-Limited Connected Device User Interface) adından anlaşılacağı üzere cep telefonları ve benzer aletler için bir arayüz paketidir. javax.microedition.rms paketi cep telefonunun hafızasına bilgi kaydetip ve hafızadan bilgi okumak içindir. En önemli paket javax.microedition.midlet paketidir ki bu pakette sadece bir class vardır: MIDlet. Cep telefonlarında çalışan ana uygulama class'ı(Buna Midlet denir.) MIDlet class'ını exteds etmelidir. Bu applet'lere benzer. Applet class'ı extends etmeden applet yazılamadığı gibi MIDlet class'ını extends etmeden midlet yazılamaz. Aşağıda hiç bir şey yapmayan bir midlet örneği bulunmaktadır

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import javax.microedition.midlet.*;
  2 public TestMIDlet extends MIDlet{  
  3   public void startApp(){}
  4   public void pauseApp(){}
  5   public void destroyApp(boolean unconditional){} 
  6 }

startApp(),pauseApp() ve destroyApp(boolean unconditional) method'ları abstract method'lardır. Yani bir midlet yazmak istiyorsanız bu methodların içini doldurmalısınız.(override) Bizim midletimiz hiç bir şey yapmadığı için bu method'ların içini boş bıraktık. Böylece cep telefonları için bir uygulama yapmış olduk. Şimdi bir Hello World örneği yapalım.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import javax.microedition.midlet.*;
  2 import javax.microedition.lcdui.*;
  3 public class HelloWorldMidlet extends MIDlet {
  4     public void startApp(){
  5         TextBox box=new TextBox("Başlık","Hello World",100,TextField.ANY);
  6         Display.getDisplay(this).setCurrent(box);
  7     }    
  8     public void pauseApp(){}    
  9     public void destroyApp(boolean unconditional){}
 10 }

startApp method'u midlet yüklendiğinde çağrılan method'tur. Biz bir TextBox yaratıyoruz. Display.getDisplay(this).setCurrent() method'u ekranı set etmek için kullanılır. Parametre olarak bir Screen nesnesini ister. TextBox screen class'ını extends ettiği için ekranda gözükmektir

HelloWorld Midlet

HelloWorldMidlet gerçek cep telefonlarında nasıl çalıştırılır? Bir midlet projesi derlendiğinde jar ve jad dosyası yaratılmaktadır. (Bu işi Sun ONE,Wireles Toolkit vs. programlar yapmaktadır.) jar dosyasında class'lar,resimler,ses dosyaları vs.. sıkıştırlmış bir şekilde bulunmaktadır. jad dosyası ise jar dosyası ve midlet hakkında bilgiler tutar. Bir midlet iki türlü yüklenebilir. Birincisi bilgisayardan cep telefonuna yüklenebilir. Diğeri ise uydu üzerinden. Uydu üzerinden yüklenmesi için wap sitesine .jad ve .jar dosyaları konulur. Java destekli telefonlarda bulunan JAM(Java Application Manager) çalıştırılarak bir midlet telefona yüklenebilir. JAM önce jad dosyasını yükler ve bu bilgilere göre jar dosyasını indirir ve midlet telefonunuza inmiş olur. Telefondaki browser ile de bir jad içeren wml sayfasına girip bu jad dosyasına tıkladığınızda dowload işlemi kendiliğinden başlatılır.

Şu anda piyasada java destekli telefonların oranı fazla değildir ancak 1-2 sene sonra cep telefonlarının çoğu java destekli olacaktır. Siz J2ME öğrenerek bir adım önde olabilirsiniz.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır