Kamis, 06 Juni 2013

APLIKASI MIDlet

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