Perkembangan pemrograman
aplikasi selama ini terfokus pada pengembangan aplikasi stand alone, kemudian
berkembang lagi menjadi aplikasi client server serta aplikasi berbasis web.
Dengan berkembangnya teknologi wireless seperti PDA dan handphone pada beberapa
tahun terakhir ini, maka mulailah babak baru berupa aplikasi wireless.
Dengan semboyan “write once
run everywhere”, teknologi Java dengan portabilitas yang tinggi,
memungkinkan untuk jalan di segala sistem operasi selama disitu ada JVM (Java
Virtual Machine) termasuk perangkat wireless dengan ukuran memori yang relatif
kecil.
J2ME terdiri atas komponen-komponen sebagai
berikut :
Java
Virtual Machine (JVM)
Komponen ini untuk menjalankan program program
Java pada emulator atau handled devices.
Java
API (Application Programming Interface)
Komponen ini merupakan kumpulan librari untuk
menjalankan dan mengembangkan program Java pada handled devices.
Tools
lain untuk pengembangan aplikasi Java semacam emulator Java Phone, emulator
Motorolla.
a.
J2ME vs WAP
Perbedaan utama antara J2ME dengan WAP adalah
pada J2ME aplikasi terdapat di client dan bisa juga di server (client server)
tidak seperti WAP yang seluruh aplikasi terdapat di server (di client dalam WAP
hanya terdapat WAP browser), sehingga dalam J2ME bisa dibuat aplikasi standalone
tanpa tergantung koneksi ke operator seluler seperti pada WAP yang
memerlukan koneksi ke operator seluler. Dalam J2ME juga terdapat database lokal
yakni RMS (Record Management System) yang berguna untuk menyimpan data.
b.
API pada J2ME
Ada dua kategori J2ME Configuration saat
ini, yaitu :
CLDC (Connected Limited Device
Configuration)
Kategori ini umumnya digunakan untuk aplikasi
Java pada handphone semacam Nokia, Samsung Java Phone, Motorola i85s, PDA
(Personal Digital Assistant) semacam PALM, Pocket PC. Umumnya
perangkat-perangkat tersebut hanya memiliki memori berukuran 160-512 KiloBytes.
CDC (Connected Device Configuration)
Kategori ini umumnya digunakan untuk aplikasi
Java pada perangkat-perangkat handled devices dengan ukuran memori paling tidak
2 Megabytes. Contohnya adalah internet TV, Nokia Communicator dan car
television atau TV pada mobil.
Subset API pada CLDC dijelaskan pada gambar di
bawah ini
Perbedaan antara CDC dan CLDC
adalah sebagai berikut :
CLDC
|
CDC
|
Mengimplementasikan subset dari J2SE
|
Mengimplementasikan
seluruh fitur pada
J2SE
|
JVM yang digunakan dikenal dengan nama
KVM
|
JVM yang digunakan
dikenal dengan nama
CVM
|
Digunakan pada perangkat handled dengan
ukuran memori terbatas (160-512
KiloBytes)
|
Digunakan pada
perangkat handled dengan
ukuran memori minimal 2
Mbytes
|
Processor 16 bit atau 32 bit
|
Processor : 32 bit
|
Canvas
Class Canvas merupakan class yang menyediakan
fungsi-fungsi untuk manajemen antarmuka pada level rendah handled. Class ini
merupakan class abstract sehingga kita harus membuat class turunannya dulu
untuk melakukan manajemen antarmuka pada level rendah.
Class Canvas merupakan class abstract
sekaligus turunan dari class Displayable.
Penggunaan
class Canvas umumnya bersamaan dengan class Graphics. Class Graphics yang
menyediakan objek-objek Grafik dan fungsi-fungsi untuk memanipulasi grafik
level rendah.
Sintak
import
javax.microedition.midlet.*;
import
javax.microedition.lcdui.*;
import
javax.microedition.lcdui.Graphics;
public
class TugasCanvas extends MIDlet {
private Display display ;
private MyCanvas canvas ;
public TugasCanvas(){
canvas = new MyCanvas();
}
public void startApp() {
display =
Display.getDisplay(this) ;
display.setCurrent(canvas);
}
public void pauseApp() { }
public void destroyApp(boolean
unconditional) {
}
}
class
MyCanvas extends Canvas{
public void paint(Graphics g){
g.setColor(0,255,0);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255,255,255);
g.drawRect(80,0,80,30);
g.drawRect(50,0,140,50);
g.fillArc(117,35,5,5,0,360);
g.drawLine(0,getHeight()/2,getWidth()-1,getHeight()/2);
g.fillArc(117,248,5,5,0,360);
g.fillArc(112,139,15,15,0,360);
g.drawRect(50,240,140,50);
g.drawRect(80,260,80,30);
g.drawArc(60,90,120,110,0,360);
g.drawArc(65
,30,110,40,-180,180);
g.drawArc(65
,220,110,40,0,180);
}
}
Hasil Akhir
catatan: dibuat menggunakan Sun Java Wireless Toolkit Version 2.5.2_01 for CLDC
Comments
Post a Comment