J2ME untuk Pemula :)
Java 2 Micro Edition (J2ME) merupakan subset dari J2SE (Java 2 Standard Edition) yang ditujukan untuk implementasi pada peralatan embeded system dan handhled yang tidak mampu mendukung secara penuh implementasi mengunakan J2SE. Embedded system adalah produk-produk dengan komputer kecil di dalamnya, namun aplikasi yang bisa dimanfaatkan dari peralatan tersebutsangatlah spesifik. Hal ini tentu saja berbeda dengan komputer PC (Personal Computer) yang kita kenal sehari-hari, yang mampu digunakan untuk berbagai aplikasi. Contoh embedded system yang ada misalnya adalah aplikasi-aplikasi yang memanfaatkan mikroprosesor seperti Televisi, sistem keamanan gedung, dan lain sebagainya.
J2ME sangat berguna untuk membangun suatu aplikasi pada peralatan dengan jumlah memori dan kapasitas penyimpanan yang terbatas, serta kemampuan user interface yang terbatas seperti pada perangkat komunikasi bergerak berupa handphone, PDA (Personal Digital Assistant), dan lain sebagainya.Ada dua spesifikasi pemrograman: Connected, Limited Device Configuration
(CLDC) dan Mobile Information Device Profile (MIDP). CLDC memaparkan interface
program aplikasi (API) dan mesin virtual fitur yang dibutuhkan untuk mendukung
perangkat mobile. MIDP CLDC menambah user interface, jaringan, dan rincian pesan
yang diperlukan untuk antarmuka dengan perangkat mobile.
MIDP mencakupgagasan tentang MIDlet, sebuah aplikasi Java kecil yang mirip dengan
applet tapi satu yang sesuai dengan
CLDC dan MIDP dan ditujukan untuk perangkat mobile.
Konsep Utama J2ME
Jantung utama Java 2 Micro Edition (J2ME) adalah mempunyai tiga konsep inti yaitu: konfigurasi,profil dan paket opsi, Sebaiknya memahami tiga konsep tersebut sebelum memulai membuat aplikasi
J2ME, karena konsep tersebut menentukan fitur java yang akan anda gunakan berdasarkan “Application Programming
Interface (APIs) yang tersedia, dan bagaimana aplikasi anda di kemas.
- Konfigurasi
- Java Virtual Machine (VM) untuk menjalankan java bytecode
- Native Code sebagai interface pada system yang mendasar
- Satu set kelas-kelas inti Java Runtime
Walaupun konfigurasi tidak menyediakan lingkungan Java yang lengkap, himpunan kelas inti biasanya cukup kecil dan harus ditingkatkan dengan kelas tambahan yang disediakan oleh profil J2ME atau dengan implementor konfigurasi. Secara khusus,konfigurasi tidak mendefinisikan kelas pengguna antarmuka apapun.
J2ME mendefinisikan dua konfigurasi, yang Connected Limited Device Configuration (CLDC) dan Connected Device Configuration (CDC). The CLDC adalah sangat terbatas (terbatas) perangkat- perangkat dengan sejumlah kecil memori
dan / atauprosesor lambat. VM yang digunakan oleh CLDC menghilangkan
fitur penting sepertifinalisasi, sedangkan set kelas runtime inti sebagian kecil dari core class J2SE, hanya dasar dari java.lang, java.io dan paket java.util,
dengan beberapa kelastambahan dari paket javax.microedition.io baru.
CDC, di sisi lain, termasuk Java VMpenuh dan satu set jauh lebih besar dari kelas inti, sehingga memerlukan memori lebih banyak daripada
CLDC dan prosesor yang lebih cepat. CDC pada kenyataannya merupakan superset dari CLDC. Kita akan membahas konfigurasi secara rinci dalam dua pasal berikutnya dalam seri ini.
- Profiles
Untuk menggunakan profil, perangkat harus memenuhi semua persyaratan minimumdari konfigurasi dasar serta persyaratan tambahan yang diamanatkan olehspesifikasi formal profil.
Ada beberapa profil dalam berbagai tahap pembuatan aplikasi. Profil pertama yang akan di rilis adalah Mobile Information Device Profile (MIDP),
profil berbasis CLDC untuk menjalankan aplikasi pada ponsel dan pager
interaktif dengan layar kecil, konektivitas nirkabel HTTP, dan memori yang terbatas. Profil lain berbasis CLDCyang sedang dikembangkan adalah Personal Digital Assistant Profile (PDAP), yangmemperpanjang MIDP dengan kelas tambahan
dan fitur untuk perangkat genggam yang lebih kuat. Dalam hal profil CDC berbasis,
Profil Foundation (FP) memperpanjang CDC dengan tambahan class J2SE,
Personal Basis Profile (PBP)memperpanjang FP dengan ringan (AWT-turunan)
kelas antarmuka pengguna danmodel aplikasi baru, dan Profil Pribadi memperluas
PBP dengan dukungan applet dan kelas berat UI kelas. Kami juga akan membahas profil ini nanti dalam seri ini.
- Paket-paket Opsi
tidak benarbenar termasuk dalam satu konfigurasi tertentu atau profil. Bluetooth mendukung, misalnya, didefinisikan sebagai paket opsional.
Menjadikannya bagian dari profil tidak akan bekerja, karena tidak ada perilaku profil
bisa opsional – jika perangkat yang mendukung profil, harus mendukung profil seluruh -dan yang akanmembatasi profil ke perangkat Bluetooth .
Paket Opsional memiliki persyaratan sendiri minimal, tentu saja, seperti konfigurasidan profil. Paket opsional juga memiliki dependensi tertentu pada konfigurasi tertentudan profil / atau satu atau lebih - mereka tidak mendefinisikan lingkungan runtimeyang lengkap, hanya set API terkait.
Ada banyak paket opsional dalam pembuatan, termasuk RMI Optional Package,
yang menambahkan dukungan RMI untuk CDC / FP profil berbasis Java API untukBluetooth, yang menambahkan dukungan Bluetooth untuk profil CLDC berbasis, danJDBC Paket Opsional untuk CDC / Foundation Profile, yang mendefinisikan subsetdari JDBC (database API akses) untuk digunakan dengan CDC / FP profil berbasis.Sekali lagi, kita akan membahas ini di kemudian hari dalam seri saat diperlukan.
KVM dan CVM
Dua hal lain yang Anda akan melihat disebutkan dalam literatur J2ME adalah KVM dan CVM. Inilah nama mesin virtual Java untuk CLDC (KVM) dan CDC (CVM),
ditulis secara khusus untuk bekerja di lingkungan terkendala perangkat genggam
atau tertanam dan menjadi mudah porting ke platform yang berbeda.
Perlu dicatat,bagaimanapun, bahwa spesifikasi CLDC dan CDC tidak memerlukan
penggunaan KVM atau CVM, hanya penggunaan VM yang mematuhi persyaratan
spesifikasi yang bersangkutan. Sementara banyak produsen perangkat lisensi
KVM atau CVM dariSun Microsystems untuk melayani sebagai inti dari pelaksanaan J2ME mereka,mereka tidak diperlukan untuk memenuhi J2ME. Ini adalah kesalahan, karena itu, untuk mempertimbangkan CLDC dan KVM sebagai sinonim, dan sama untuk CDC dan CVM.
Sekarang harus jelas bahwa ”aplikasi J2ME” adalah istilah yang ambigu. Untuk apa profil aplikasi dimaksud? Yang paket opsional tidak membutuhkan?
Berapa banyak memori yang dibutuhkan? Ini adalah pertanyaan Anda harus bertanya pada diri sendiri sebelum Anda memulai pembuatan aplikasi,
karena mereka menentukan fitur bahasa yang dan yang kelas aplikasi Anda dapat
digunakan. Jika Anda membatasi aplikasi Anda untuk profil CDC-based, misalnya,
Anda membuat pengembangan sederhana dari banyak API J2SE , tapi kemudian memotong perangkat low-end. Profil Penargetan berbasisCLDC, disisi lain, membuat tugas perkembangan
Anda lebih keras, terutama ketika mencoba untuk mengecilkan ukuran aplikasi Anda untuk berjalan di banya kperangkat yang lebih kecil mungkin.
Ini adalah jenis timbal balik Anda harus membuat saat Anda mulai bekerja dengan J2ME. Informasi dalam seri ini akan membantu Anda memutuskan apa yang benar-benar penting.
Connected Limeted Device Configuration (CLDC)
CLDC atau Connected Limited Device Cofiguration adalah perangkat dasar dari J2ME, spesifikasi dasar yang berupa library atau API yang diimplementasikan pada J2ME, seperti yang digunakan pada telepon selular, pager, dan PDA. Perangkat tsb dibatasi dengan keterbatasan memory, sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal pada package, class, dan sebagian fungsi Java Virtual Machine yang dikurangi agar dpat diimplementasikan dengan keterbatasan sumber daya pada alat tersebut, JVM yang digunakan adalah KVM (Kilobyte Virtual Machine).
Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profil J2ME. MIDP memilik lapisan diatas CLDC, API tambahan untuk daur hidup aplikasi, antar muka, jaringan, dan pemyimpanan persisten. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan pada MIDP 2.0 dibandingkan MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat dukunagan memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya Mobile Media API (MMAPI).
J2ME Wireless Toolkit
J2ME Wireless Toolkit adalah perkakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi JAVA untuk perangkat kecil. J2ME WTK berbasiskan pada CLDC dan MIDP. J2ME WTK adalah program yang meniru kerja ponsel yang mendukung MIDP atau yang disebut emulator. Oleh karena itu, belum tentu MIDlet yang berjalan di emulator juga berjalan pada ponsel yang sebenarnya, karena juga bergantung pada kemampuan dan kapasitas ponsel yang digunakan.
MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari class javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah class abstrak yang merupakan subclass dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat bisa terbentuk.
Contoh Siklus hidup Midlet
Secara default MIDlet di negara berhenti. saat aplikasi dijalankan oleh startAppdefault () method akan menelepon dan ketika menutup aplikasi tersebut destroyApp() method akan dipanggil. Tapi ketika konstruktor Anda bukan tipe null maka akandieksekusi terlebih dahulu. Kode sumber dari pelaksanaan siklus hidup adalahsebagai berikut:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
public class MidletLifecycle extends MIDlet{
private Form form;
private Display display;
public MidletLifecycle(){
System.out.println(“Konstruktor siklus hidup Midlet”);
}
public void startApp(){
form = new Form(“Siklus hidup Midlet”);
display = Display.getDisplay(this);
String msg = ”Ini ada siklus hidup Midlet!”;
form.append(msg);
display.setCurrent(form);
}
public void pauseApp(){
System.out.println(“Anda berada pada pauseApp()…”);
}
public void destroyApp(boolean destroy){
System.out.println(“Anda berada pada destroyApp()…”);
notifyDestroyed();
}
}
JAD
Java Application Descriptor (JAD) nama file ekstensi jad dan. media tipetext/vnd.sun.j2me.app-descriptor, yang dikembangkan oleh Sun Microsystems, IncJAD file digunakan untuk aplikasi java atau game. Aplikasi java ponsel diaktifkantersambung pemrograman dengan Layanan Web online. Melalui fasilitas ini kitadapat mengirim SMS melalui Internet GSM mobile.
Jad format
| MIDlet-1: | <Application name>, <icon path>, <midlet class> |
| MIDlet-Jar-Size: | <Size in bytes> |
| MIDlet-Jar-URL: | <Associated JAR file> |
| MIDlet-Name: | <Application name> |
| MIDlet-Vendor: | <Company> |
| MIDlet-Version: | <Application version number> |
| MicroEdition-Configuration: | <CLDC version> |
| MicroEdition-Profile: | <MIDP version> |
Java ME Platform, silahkan unduh pada link berikut ini http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html
Install Java ME Platform SDK 3.0
- Klik sun_java_me_sdk-3_0-win.exe
- Klik Tombol “Run” maka akan muncul tampilan seperti dibawah ini
- Check “ I accept the terms in the licence agreement” kemudian klik tombol “Next” dan muncul tampilan seperti dibawah ini
- Klik Tombol “Next” dan muncul seperti gambar dibawah ini
- Klik Tombol “Next” dan muncul gambar dibawah ini
- Selesai sudah kita menginstall Java ME Platform SDK 3.0 dari sun microsystem pada computer.
- Tampilan Java ME Platform SDK 3.0
- “Hai Dunia”
- Klik tab “File” kemudian sub tab “New Project”
- Maka akan muncul tampilan dibawah ini
- Pilih MIDP Application dan klik tombol “Next” dan muncul layar seperti dibawah ini
- Ketikan pada Project Name “Hai Dunia” dan kemudian klik “Next”
- Kemudian klik tombol “Finish” dan akan muncul generate code seperti dibawah ini
- Kemudian klik icon “Run” dan akan muncul emulator ClamshellCldcPhone serta menampilkan string text “ Hello World”
- Berikut ini kode untuk Project “Hai Dunia”
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; // The exit command
private Display display; // The display for this MIDlet
public HelloMIDlet() {
display = Display.getDisplay(this);
exitCommand = new Command(“Exit”, Command.EXIT, 0);
}
public void startApp() {
TextBox t = new TextBox(“Hello”, “Hello, World!”, 256, 0);
t.addCommand(exitCommand);
t.setCommandListener(this);
display.setCurrent(t);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable s) {
if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
}
}
}
- Tutorial Selanjutnya “Membuat Aplikasi pada canvas J2ME”
Jika ada Pertanyaan silahkan hubungi :
iqbal.pribadi@yahoo.com
iqbal@bubuhun.com
Tidak ada komentar:
Posting Komentar