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

J2ME'ye Giriş

J2ME (Java 2 Micro Edition) javanın küçük cihazlar için geliştirmiş olduğu bir sürümdür. Bu cihazlar cep telefonları, palm,tv kutu'ları gibi cihazlardır. Bu cihazlar PC'lere göre sınırlı kaynakları olan cihazlardır. Bu yüzden bu cihazlara yönelik değişik bir sürüm yaratılmıştır.

Configuration ve Profile

Bu küçük cihazlarda değişik özellikler göstermektedir. Bu özelliklere göre iki "configuration" tanımlanmıştır: CLCD ve CDC. Daha küçük bir hafızaya sahip ve sınırlı bağlantı yetenekleri olan cihazlar için CLCD (Connected Limited Device Configuration) tanımlanmıştır. Daha iyi hafıza sahip ve daha iyi bağlantı yetenekleri olan cihazlar için CDC (Connected Device Configuration) tanımlanmıştır.

Bu konfigürasyona göre java ortamı ve destekleyecek kütüphaneler tanımlanır. Bu konfigürasyon üzerine çeşitli profile'lar tanımlanır. Örneğin cep telefonları CLDC konfügürasyon'dur. Ve çoğu telefon MIDP 1.0(Mobile Information Device Profile) profile'nı destekler. Ancak başka profile'ları de destekleyebilir. Bir konfigürasyon üstünde birden fazla profile desteklenebilir.

Cep Telefonlarının Desteklediği Kütüphaneler

CLDC konfigürasyonu aşağıdaki paketleri içerir.

MIDP1.0 Profile'ı ise

java.lang,java.util,java.io paketleri standart java'daki tüm özellikleri içermez. Örneğin Stringtokenizer class'ı bulunmaz. Standart java'nın bir alt kümesi gibidir.

javax.microedition.io paketi network paket'idir. Bir server bağlantı kurmak için gerekli class'ları içerir.

javax.microedition.midlet paketinde tek bir class vardır: MIDlet. MIDlet cep telefonlarında çalışan program class'ıdır. Applet veya Application gibi düşünebilir.

javax.microedition.lcdui paketi arayüz paketidir.

javax.microedition.rms cep telefonunun hafızasına kayıt etme için kullanılan class'lar bulunur.

Midlet Geliştirme ve Kurulum

Cep telefonları MIDP profile'ni desteklerler. Cep telefonunda çalışan bir program yapmanız için MIDlet class'ını extend etmelisiniz. Yaptığınız programın cep telefona kurulması için jar ve jad dosyalarının oluşturulması gerekmektedir. jar ve jad dosyalarını kullandığınız editor'ler sizin için oluşturmaktadırlar. jar dosyası class dosyalarının bulunduğu sıkıştırılmış dosyadır. jad dosyası ise midlet ve jar hakkında bilgi tutan bir dosyadır.

Oluşturulan jar ve jad dosyasının cep telefonuna kurulması gerekmektedir. jar ve jad dosyasın wap kullanılarak cep telefonuna kurulabilmeltedir. Bunun için aşağıdaki gibi bir wml oluşturabilirsiniz.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 <?xml version="1.0" encoding="iso-8859-1">
  2 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml12.dtd">
  3 <wml>
  4 <card title="main">
  5 <a href="Test.jad">Download Test Midlet</a>
  6 </card>
  7 </wml> 

Cep telefonundaki browser ile test.wml sayfasına bağlanılıp "Download Test Midlet" linki seçilirse kurulum işlemi başlar. Önce jad dosyası yüklenir. Daha sonra jar dosyası yüklenir ve kurulum gerçekleşir. Kullanıcının bir şey yapmasına gerek yoktur.

jar ve jad dosyası kablo yoluylada telefona kurulabilir. PC'de bulanan bir jad veya jar kablo ile telefona kurulabilir. Tüm java destekli telefonlar bunu desteklerler.

Basit Bir Örnek

Cep telefonunda çalışan programlara midlet denir. Midlet yaratmak için javax.microedition.midlet paketindeki MIDlet class'ını extend etmeniz gerekir. MIDlet class'ı abstract bir class'tır. Aşağıdaki üç method implement edilmelidir.

public void startApp(){}
protected void pauseApp(){}
protected void destroyApp(boolean boolean0){}

aşağıda hiç bir şey yapmayan midlet örneği bulunmakta

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

startApp method'u midlet yüklendiği zaman çağrılır. pauseApp method'u midlet durdurulduğu zaman ve destroyApp ise midlet kapatıldığı zaman çağrılır.

Şimdi HelloWorld ö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 HelloWorld extends MIDlet{
  4   protected void startApp(){
  5     TextBox box=new TextBox("hello","Hello MIDlet",100,TextField.ANY);
  6     Display.getDisplay(this).setCurrent(box);
  7   }
  8   protected void pauseApp(){}
  9   protected void destroyApp(boolean boolean0){}
 10 }

Bu örnekte startApp içinde bir yazı kutusu yaratıyor ve onu görünür hale getiriyoruz.

TextBox box=new TextBox("hello","Hello MIDlet",100,TextField.ANY);
Display.getDisplay(this).setCurrent(box);

Display.getDisplay(this) iile midlet'in ekran'nı almaktayız. Daha sonra bu ekrana bir TextBox koyuyoruz. TextBox javax.microedition.lcdui paketinde bulunan bir arayüz bileşenidir.

Dosya Listesi

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