Apa itu Midlet?
MIDlet adalah sebutan untuk aplikasi-
aplikasi yang dibuat di dalam handphone dengan menggunakan profil MIDP (Mobile
Information Device Profile). Ternyata, dibalik perangkat kecil yang kita
gunakan, tersimpan teknologi yang canggih. Fitur-fitur yang ada pada handphone
dan PDA mungkin tidak akan secanggih sekarang jika dulu James Gosling tidak
menemukan bahasa pemrograman Java, yang merupakan ‘bapak’ dari J2ME.
Suatu aplikasi Mobile Information Device
Profile (MIDP) pada j2me disebut MIDlet. Perangkat application management
software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create,
start, pause, dan destroy.
MIDlet adalah bagian dari package
javax.microedition.midlet. Sebuah MIDlet harus di-extend dengan class MIDlet.
Dan dapat meminta parameter dari AMS seperti dirumuskan dalam application
descriptor (JAD). Suatu MIDlet tidak harus memiliki (sebenarnya harus tidak
memiliki) sebuah method public static void main(String[] args) seperti layaknya
aplikasi java lainnya. Method tersebut tidak akan dikenal lagi oleh application
management software (AMS) sebagai awal sebuah running program.
Dibawah ini beberapa contoh
program Midlet dengan J2ME:
1. Midlet_alert
Alert
Alert biasa digunakan untuk memberi
peringatan yang menyediakan informasi kecil kepada pengguna aplikasi yang
ditampilkan ke layar dalam selang interval waktu tertentu, sebelum
kemudian berpindah ke objek screen lainnya. Umumnya Alert digunakan untuk
memberi informasi error dan exception lain ke pengguna. Class Alert
(javax.microedition.lcdui.Alert) merupakan class turunan dari class abstrak
javax.microedition.lcdui.Screen.
Program
package mobileapplication1;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_alert extends MIDlet implements CommandListener // Digunakan untuk memanggil class MIDlet(pada extends MIDlet).Class MIDlet ini sudah ada dalam package microedition.midlet tadi. Fungsi dari CommandListener adalah action/kejadian untuk mengeksekusi sebuah perintah dari user (semacam tombol untuk menjalankan suatu perintah)
{
Display display;
Form form;
public void startApp() // menampilkan tampilan awal aplikasi mobile
{
Command keluar = new Command("Keluar",Command.CANCEL,1);
Command about = new Command("Tentang", Command.OK, 0);
Command kembali = new Command("Kembali", Command.OK, 0);
form = new Form("Contoh Menu");
form.append("Hello World");
Command keluar = new Command("Keluar",Command.CANCEL,1);
Command about = new Command("Tentang", Command.OK, 0);
Command kembali = new Command("Kembali", Command.OK, 0);
form = new Form("Contoh Menu");
form.append("Hello World");
form.addCommand(keluar);
form.addCommand(about);
form.addCommand(kembali);
form.setCommandListener(this);
Display.getDisplay(this).setCurrent(form); // Menginisialisasi variabel display
}
form.addCommand(about);
form.addCommand(kembali);
form.setCommandListener(this);
Display.getDisplay(this).setCurrent(form); // Menginisialisasi variabel display
}
public void
pauseApp() // ketika
startApp() dipanggil maka MIDlet akan kembali ke status pauseApp()
{ }
public void destroyApp(boolean unconditional) // ketika semua fungsi dalam MIDlet selesai dilakukan dan MIDlet dimatikan maka MIDlet akan berada dalam status destroyed,lebih jelas'y ketika pengguna menekan tombol exit maka destroyApp() akan di panggil.
public void destroyApp(boolean unconditional) // ketika semua fungsi dalam MIDlet selesai dilakukan dan MIDlet dimatikan maka MIDlet akan berada dalam status destroyed,lebih jelas'y ketika pengguna menekan tombol exit maka destroyApp() akan di panggil.
{ }
public void commandAction(Command c, Displayable d) // method ini berfungsi untuk mengimplementasikan class CommandListener yang telah di-implements sebelumnya. Berfungsi untuk menempatkan source code supaya tombol dapat menjalankan suatu perintah.
public void commandAction(Command c, Displayable d) // method ini berfungsi untuk mengimplementasikan class CommandListener yang telah di-implements sebelumnya. Berfungsi untuk menempatkan source code supaya tombol dapat menjalankan suatu perintah.
{
notifyDestroyed(); // Untuk Mengakhiri Aplikasi
}
}
notifyDestroyed(); // Untuk Mengakhiri Aplikasi
}
}
Output
2. Midlet_choice
Choice
ChoiceGroup menampilkan daftar
elemen seperti List. ChoiceGroup memungkinkan memilih lebih dari satu elemen.
Tiap elemen dapat diasosiasikan dengan gambar tertentu. Bentuk ChoiceGroup
biasanya adalah RadioButton atau Checkbox. Untuk memasukkan elemen ke dalam
ChoiceGroup menggunakan metode : int append(String stringPart, Image
imagePart).
Program
package mobileapplication1;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_choice extends MIDlet implements CommandListener
{
Display display;
Form choiceForm;
Command exitCommand = new Command("Keluar", Command.EXIT,1);
ChoiceGroup choiceExclusive, choiceMultiple, choicePopup;
public Midlet_choice()
{
choiceForm = new Form("Pilihan");
choiceForm.addCommand(exitCommand);
choiceForm.setCommandListener(this);
choiceExclusive = new ChoiceGroup("Eksklusif",Choice.EXCLUSIVE);
choiceExclusive.append("Laki-laki", null);
choiceExclusive.append("Perempuan", null);
choiceForm.append(choiceExclusive);
choiceMultiple = new ChoiceGroup ("Kelipatan",Choice.MULTIPLE);
choiceMultiple.append("Anggur", null);
choiceMultiple.append("Mangga",null);
choiceMultiple.append("Apel", null);
choiceForm.append(choiceMultiple);
choicePopup = new ChoiceGroup("Popup",Choice.POPUP);
choicePopup.append("Indonesia", null);
choicePopup.append("Malaysia",null);
choicePopup.append("Australia",null);
choiceForm.append(choicePopup);
}
public void startApp()
{
if (display == null)
{
display = Display.getDisplay(this);
display.setCurrent(choiceForm);
}
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable d)
{
if (c == exitCommand)
{
destroyApp(true);
notifyDestroyed();
}
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_choice extends MIDlet implements CommandListener
{
Display display;
Form choiceForm;
Command exitCommand = new Command("Keluar", Command.EXIT,1);
ChoiceGroup choiceExclusive, choiceMultiple, choicePopup;
public Midlet_choice()
{
choiceForm = new Form("Pilihan");
choiceForm.addCommand(exitCommand);
choiceForm.setCommandListener(this);
choiceExclusive = new ChoiceGroup("Eksklusif",Choice.EXCLUSIVE);
choiceExclusive.append("Laki-laki", null);
choiceExclusive.append("Perempuan", null);
choiceForm.append(choiceExclusive);
choiceMultiple = new ChoiceGroup ("Kelipatan",Choice.MULTIPLE);
choiceMultiple.append("Anggur", null);
choiceMultiple.append("Mangga",null);
choiceMultiple.append("Apel", null);
choiceForm.append(choiceMultiple);
choicePopup = new ChoiceGroup("Popup",Choice.POPUP);
choicePopup.append("Indonesia", null);
choicePopup.append("Malaysia",null);
choicePopup.append("Australia",null);
choiceForm.append(choicePopup);
}
public void startApp()
{
if (display == null)
{
display = Display.getDisplay(this);
display.setCurrent(choiceForm);
}
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable d)
{
if (c == exitCommand)
{
destroyApp(true);
notifyDestroyed();
}
}
}
Output
3. Midlet_datafield
Datafield
DateField
merupakan elemen untuk menampilkan tanggal dan informasi waktu dalam sebuah
objek Form.
Program
package mobileapplication1;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.DateField;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.DateField;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_datafield extends MIDlet implements CommandListener {
Display display;
Form dateForm;
Command exitCommand = new Command ("Keluar", Command.EXIT,1);
DateField dateonly, timeonly, datetime;
public Midlet_datafield(){
dateForm = new Form ("Penggunaan tanggal");
dateForm.addCommand(exitCommand);
dateForm.setCommandListener((CommandListener) this);
dateonly = new DateField("Tanggal", DateField.DATE);
timeonly = new DateField("Set Alarm", DateField.TIME);
datetime = new DateField("Keberangkatan", DateField.DATE_TIME);
dateForm.append(dateonly);
dateForm.append(timeonly);
dateForm.append(datetime);
}
public void startApp()
{
if (display == null)
if (display == null)
{
display = Display.getDisplay(this);
display.setCurrent(dateForm);
}
}
public void pauseApp()
display = Display.getDisplay(this);
display.setCurrent(dateForm);
}
}
public void pauseApp()
{ }
public void destroyApp(boolean unconditional)
public void destroyApp(boolean unconditional)
{ }
public void commandAction (Command c, Displayable d)
{
if (c == exitCommand)
if (c == exitCommand)
{
destroyApp(true);
notifyDestroyed();
}
}
}
destroyApp(true);
notifyDestroyed();
}
}
}
Output
4. Midltet_Form
Form
Form merupakan user interface yang
menyediakan fasilitas untuk pe-nempatan beberapa objek-objek komponen GUI dalam
satu layar. Objek-objek komponen GUI tersebut dapat berupa objek statis seperti
tulisan atau gambar, maupun objek yang dapat di-edit oleh pengguna,
seperti textbox, radio button dan check
box. Class Form (javax.microedition.lcdui.Form) merupakan class turunan
dari class abstrak javax.microedition.lcdui.Screen.
Program
package mobileapplication1;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_Form extends MIDlet
{
Display display ;
Form form ;
public Midlet_Form()
{
display = Display.getDisplay(this);
form = new Form("Apikasi form");
form.append("Hello world penggunaan form");
}
public void startApp()
display = Display.getDisplay(this);
form = new Form("Apikasi form");
form.append("Hello world penggunaan form");
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp()
display.setCurrent(form);
}
public void pauseApp()
{
display.setCurrent(null);
}
public void destroyApp(boolean unconditional) \
display.setCurrent(null);
}
public void destroyApp(boolean unconditional) \
{ }
}
}
Output
5. Midlet_Keluar1
Program
package mobileapplication1;
import
javax.microedition.lcdui.Command;
import
javax.microedition.lcdui.CommandListener;
import
javax.microedition.lcdui.Display;
import
javax.microedition.lcdui.Displayable;
import
javax.microedition.lcdui.TextBox;
import
javax.microedition.midlet.*;
/**
* @author Haidi
Nurhadinata
*/
public class Midlet_Keluar1
extends MIDlet implements CommandListener
{
TextBox tb;
Command exitCmd;
public
Midlet_Keluar1()
{
exitCmd = new Command("keluar", Command.EXIT, 1);
tb = new TextBox("Aplikasi","",100,0);
tb.addCommand(exitCmd);
tb.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb);
}
public void
startApp()
{ }
public void
pauseApp()
{ }
public void
destroyApp(boolean uncoditional)
{ }
public void
commandAction(Command c, Displayable d)
{
if (c==exitCmd)
{
destroyApp(true);
notifyDestroyed();
}
}
}
Output
6. Midlet_List
List
List merupakan user interface yang menyediakan fasilitas untuk melaku kan masukan pemilihan (multiple choice) terhadap suatu daftar pada layar, yang dapat bersifat tunggal (radio button) maupun berganda (check box). Daftar yang terdapat pada suatu List dapat pula diberi image atau gambar. Hasil pemilihan dari List ini kemudian dapat dibaca kembali oleh pemrogram sehingga dapat dilakukan aksi yang berse-suaian. Class List (javax.microedition.lcdui.List) merupakan class turunan dari class abstrak javax.microedition.lcdui.Screen.
Program
package mobileapplication1;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_list extends MIDlet implements CommandListener
{
Display display;
List list;
public Midlet_list()
{
list = new List("Contoh List", List.IMPLICIT);
list.append("Nama : Haidi Nurhadinata", null);
list.append("NIM : 15615007", null);
list.append("Asal : Samarinda", null);
list.append("Telp : 085251015xxx", null);
list.setCommandListener(this);
}
public void startApp()
{
if (display==null)
{
display = Display.getDisplay(this);
display.setCurrent(list);
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d)
{
throw new UnsupportedOperationException("Not supportedyet.");
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_list extends MIDlet implements CommandListener
{
Display display;
List list;
public Midlet_list()
{
list = new List("Contoh List", List.IMPLICIT);
list.append("Nama : Haidi Nurhadinata", null);
list.append("NIM : 15615007", null);
list.append("Asal : Samarinda", null);
list.append("Telp : 085251015xxx", null);
list.setCommandListener(this);
}
public void startApp()
{
if (display==null)
{
display = Display.getDisplay(this);
display.setCurrent(list);
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d)
{
throw new UnsupportedOperationException("Not supportedyet.");
}
}
Output
7. Midlet_Textbox
TextBox
TextBox merupakan user interface yang digunakan sebagai media untuk menerima masukan teks dari keypad pengguna handheld device. Jadi, jika aplikasi MIDlet membutuhkan masukan dari pengguna, misalnya berupa password, nama, alamat atau informasi berbasis text lainnya, maka objek TextBox ini biasa digunakan. Class TextBox (javax.microedition.lcdui.TextBox) merupakan class turunan dari class abstrak javax.microedition.lcdui.Screen.
Program
package mobileapplication1;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.*;
/**
* @author Haidi Nurhadinata
*/
public class Midlet_Textbox extends MIDlet implements CommandListener
{
TextBox tb;
Command exitCmd, t;
Command exitCommand = new Command ("Keluar",Command.EXIT,1);
public Midlet_Textbox()
{
tb = new TextBox("Aplikasi Text Box", "Hello World Penggunaan Text Box", 100,0);
tb.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb);
}
public void startApp()
{
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable d)
{
if (c==exitCommand)
{
destroyApp(true);
notifyDestroyed();
}
}
}
Output







Tidak ada komentar:
Posting Komentar