PENGERTIAN MIDlet
MIDlet adalah
aplikasi Java yang ditulis untuk peralatan MID. Karena ditulis dengan bahasa
Java yang memiliki portabilitas tinggi, maka pe-ngembangan aplikasi ini dapat
dilakukan pada PC dan hasil kompilasi-nya dapat di-install ke peralatan MID
baik melalui transfer data maupun download melalui internet dengan OTA (Over
The Air) Provisioning.
Yang
didistribusikan itu sendiri adalah MIDlet yang sudah dikemas dalam paket JAR
(Java Archieve) berisi seluruh class MIDlet beserta file resource-nya. File JAR
ini didampingi oleh sebuah file JAD yang ber isi deskripsi file JAR yang
bersangkutan. Informasi yang terkandung di dalamnya berupa ukuran file, versi,
alamat, pengembang dsb.
Distribusi
melalui OTA adalah distribusi yang sangat disarankan untuk pembuatan MIDlet
bagi keperluan komersial dan pemakaian yang luas. Dalam prakteknya distribusi
dengan cara ini digabungkan dengan tekno logi WAP sehingga pengguna diberi
kesempatan untuk melakukan browsing ke situs pengembang MIDlet melalui
handset-nya.
Dalam halaman
WAP, pengguna dapat memilih MIDlet apa saja yang akan didownload. Pengembang
dapat pula menyisipkan gambar screen shot dari MIDletnya pada halaman WAP
tersebut sehingga mempermu-dah pengguna dalam memilih MIDlet.
Ketika
pengguna memilih untuk men-download suatu MIDlet maka Application Management
System (AMS) yang terdapat pada handset pengguna akan membaca informasi
mengenai MIDlet tersebut yang terdapat pada file JAD. Karena file ini sangat
kecil maka proses ini tidak akan membebani pengguna dengan biaya tinggi.
Inf
ormasi yang diambil oleh AMS adalah lokasi MIDlet beserta ukuran-nya. AMS akan
mengkonfirmasi pengguna untuk men-download MIDlet tersebut atau membatalkannya.
Jika pengguna memilih untuk melaku-kan download, maka AMS segera men-downloadfile
JAR untuk disim-pan pada memory handset pengguna.
BATASAN MIDlet
Karena
Java bekerja dalam lingkungan yang dibatasi oleh Java Virtual Machine, maka
MIDlet tidak memiliki kemampuan untuk mengakses file system yang terdapat pada
handset pengguna. Berikut adalah diagram yang menggambarkan kedudukan MIDlet
pada perangkat pendukung-nya :
MIDled
Standard
|
|
|
Aplikasi
Native
|
|||
|
Class
OEM
|
|
|
|||
|
MIDP
|
|
||||
CLDC
|
||||||
Software Native
|
||||||
Perangkat MID
|
Secara
umum dapat dikatakan bahwa MIDlet tidak dapat mengakses seluruh kemampuan
handset pengguna sebagaimana yang dapat dila-kukan oleh aplikasi native. Meskipun demikian dengan
menggunakan class spesifik OEM, maka MIDlet dapat menggunakan fitur-fitur yang
terdapat pada handset.
Sebagai
contoh MIDP 1.0 tidak menspesifikasikan fasilitas membangkit-kan suara. Tapi
dengan menggunakan spesifikasi milik Nokia misalnya, maka dimungkinkan untuk
membuat MIDlet yang dapat membangkitkan suara untuk semua handset Nokia.
Demikian pula dengan vendor-vendor lainnya seperti Motorola dan Siemens.
SIKLUS HIDUP MIDlet
Dalam
eksekusinya, suatu aplikasi MIDlet akan mempunyai beberapa fase atau state yang
menunjukkan keadaannya pada saati itu. Perubah-an fase atau state ini
disebut sebagai LifeCycle pada
MIDlet.
LifeCycle dari sebuah MIDlet ditangani oleh
AMS (Application Manage-ment System)
atau JAM (Java Application Manager).
AMS adalah ling-kungan tempat siklus dari sebuah MIDlet diciptakan, dijalankan,
dihenti-kan maupun dihilangkan.
MIDlet
mempunyai tiga state, yaitu PAUSE, ACTIVE dan DESTROY. State PAUSE terjadi ketika MIDlet tidak melakukan aksi apapun, state ACTIVE terjadi ketika MIDlet sedang aktif atau berjalan, sedangkan state DESTROY terjadi ketika MIDlet berhenti berjalan dan alokasi memori
yang digunakan oleh MIDlet akan dibersihkan. Ketika masing-masing state
dipanggil, beberapa method yang bersesuaian dipanggil.
Ketika
AMS pertama kali menciptakan dan menginisialisasi MIDlet, MIDlet akan berada
dalam state PAUSE. Apabila terjadi kesalahan selama konstruksi MIDlet, MIDlet
akan berpindah ke state DESTROY dan MIDlet batal diciptakan
dengan jalan memanggil fungsi standar destroyApp(). Selanjutnya ketika MIDlet dijalankan, MIDlet akan berada
pada state ACTIVE dengan jalan memanggil fungsi standar startApp(). Tetapi ketika ditengah jalan MIDlet dihentikan sementara,
MIDlet berada pada state PAUSE dengan memanggil fungsi standar pauseApp(). Pada state ini juga dilakukan proses
cleanup pada garbage colector yang dihasilkan.
Suatu
aplikasi MIDlet terdiri atas satu buah turunan class MIDlet beserta satu atau
lebih turunan class Displayable yang bertindak sebagai user-interface. Karena class MIDlet mengandung method abstract,
maka untuk membuat sebuah turunan class MIDlet kita harus mendefinisikan
terlebih dahulu method-method abstract yang dimiliki oleh class MIDlet tersebut
dalam class yang akan dibuat nantinya. Mehtod tersebut adalah :
startApp()
|
Akan
dipanggil saat MIDlet memasuki fase ”started” dan fase ”paused”.
Disini
biasanya dilakukan proses inisialisasi, baik inisialisasi layar maupun
objek-objek yang dipergu-nakan dalam aplikasi MIDlet.
|
pauseApp()
|
Akan
dipanggil saat MIDlet memasuki fase ”paused”
Biasanya
berisi instruksi untuk membebaskan me-mory yang dipakai oleh aplikasi MIDlet,
sekaligus menyimpan kondisi aplikasi MIDlet saat ini.
|
destroyApp()
|
Akan
dipanggil saat MIDlet memasuki fase ”destroy-ed” yaitu ketika eksekusi MIDle
dihentikan.
|
Dengan
demikian, maka kerangka program dari turunan class MIDlet yang akan dibuat,
dapat ditulis sebagai berikut :
1
|
import
javax.microedition.midlet.*;
|
2
|
|
3
|
public class ClassMidlet extends MIDlet
|
4
|
{
|
5
|
public ClassMidlet()
|
6
|
{
|
7
|
//-- konstruktor MIDlet
|
8
|
}
|
9
|
|
10
|
public
void startApp()
|
11
|
{
|
12
|
//-- kode ketika MIDlet memasuki fase ACTIVE
|
13
|
}
|
14
|
|
15
|
public
void pauseApp()
|
16
|
{
|
17
|
//-- kode ketika MIDlet memasuki fase PAUSED
|
18
|
}
|
19
|
|
20
|
public
void destroyApp()
|
21
|
{
|
22
|
//-- kode ketika MIDlet berakhir...
|
23
|
}
|
24
|
}
|
Kode pada
baris pertama dipergunakan untuk memberitahukan kompi-lator Java bahwa program
ini menggunakan semua class yang terdapat pada package java.microedition.midlet.
Pada package inilah terdapat definisi
class MIDlet dan interface lain yang diperlukan.
Kode pada
baris ketiga merupakan definisi dari class yang diturunkan dari class MIDlet.
Perlu diperhatikan bahwa class baru ini harus didefinisikan dengan modifier
public. Jika tidak maka perangkat MID tidak dapat mengeksekusi MIDlet.
Kode pada baris kelima merupakan definisi
constructor dari class baru tersebut. Nama dari constructor sama dengan nama
classnya.
STRUKTUR MIDlet
Suatu
aplikasi MIDlet disusun atas satu buah class
utama yang diturun-kan dari class
MIDlet. Class ini adalah class yang pertama kali dijalan-kan oleh
perangkat handset ketika aplikasi MIDlet dieksekusi. Karena class MIDlet tidak menyediakan user interface apapun, maka untuk
membuat user interface dipergunakan class-class yang diturunkan dari class Displayable. Dengan melalui class-class inilah aplikasi dapat berinteraksi dengan pengguna.
Class Displayable itu
sendiri adalah class abstract, yang
diperlukan pada suatu aplikasi MIDlet adalah turunan dari class tersebut. Pada MIDP, user
interface terbagi menjadi dua, yaitu High Level API dan Low
Level API.
High
Level API menyediakan class-class
yang mekanismenya telah ditentukan dan dapat langsung dipergunakan dalam
pembuatan aplikasi MIDlet. Programmer hanya mendefinikan “isi” dari user interface tersebut, menampilkan
kepada pengguna dan kemudian mendapatkan hasilnya. Class yang dipergunakan adalah class
yang diturunkan dari class Screen.
Sedangkan
Low
Level API merupakan media yang dipergunakan dalam aplikasi yang
melakukan operasi grafis, seperti game misalnya. Disini programmer bertanggung
jawab dalam menentukan tampilan dan mekanisme pada layar aplikasi. Class yang dipergunakan adalah class yang diturunkan dari class Canvas.
Selain class untuk user interface, dalam suatu aplikasi MIDlet dapat pula mempunyai class-class lainnya, seperti class yang bertugas untuk melakukan
proses tertentu dalam aplikasi tersebut.
Tidak ada komentar:
Posting Komentar