IF5093 Java ME Achmad Imam Kistijantoro Semester II 2006/2007 IF5093 Java ME 1
Java ME overview Java ME (Micro Edition) adalah java platform untuk consumer devices seperti handphone, PDA, TV set-top boxes serta perangkat embedded lainnya Java ME berisi sekumpulan API yang didefinisikan melalui JCP Java ME mendefinisikan configurations, profiles dan optional packages sebagai elemen untuk membangun lingkungan runtime Java setiap kombinasi mendefinisikan karakteristik (memori, kemampuan pemrosesan dan I/O yang sesuai dengan kategori perangkat tertentu 2
Configuration Configuration adalah spesifikasi minimal sebuah perangkat yang menjadi target Java ME. Configuration terdiri dari sebuah virtual machine, sekumpulan API/library minimal yang harus disediakan perangkat tersebut Saat ini Java ME mendefinisikan 2 jenis: CLDC (Connected, Limited Device Configuration): CDC (Connected Device Configuration) 3
CLDC CLDC digunakan untuk perangkat jenis mobile phone dan PDA dengan koneksi jaringan yang intermiten, memori terbatas dan prosesor yang lambat umumnya memiliki prosesor16-bit atau 32 bit, dan memori minimal sebesar 192 KB Implementasi Java untuk perangkat kelas ini umumnya berupa KVM, yaitu virtual machine yang berukuran puluhan kilo bytes saja 4
CDC CDC digunakan untuk perangkat yang memiliki prosesor dan memori yang lebih besar dibandingkan CLDC, misalnya higher end PDA, TV set top boxes Implementasi CDC dapat menggunakan JVM standar (Java SE), dengan perangkat yang memiliki memori sebesar 2MB atau lebih 5
Profile Profile adalah extension dari Configuration, dengan menambahkan sekumpulan API tambahan yang umum digunakan untuk jenis kebutuhan tertentu. Profile juga mendefinisikan life cycle aplikasi, antar muka pengguna dan akses ke fitur lainnya dari sebuah device. Profile yang umum digunakan: Mobile Information Device Profile (MIDP), Foundation Profile (FP) dan Personal Profile (PP) 6
MIDP MIDP adalah profile yang ditargetkan untuk perangkat handphone serta low end PDA MIDP mendefinisikan fungsionalitas aplikasi dasar, seperti tampilan antar muka pengguna, konektivitas dasar, serta penyimpanan data lokal. Aplikasi MIDP disebut sebagai MIDlet. MIDP menyediakan kelas dasar (MIDlet) yang dapat digunakan sebagai superclass untuk aplikasi-aplikasi MIDlet pada MIDP. 7
FP & PP FP adalah layer yang paling dasar yang tersedia pada CDC. FP menyediakan layanan konektivitas jaringan untuk aplikasi pada CDC yang memerlukan konektivitas tanpa harus memiliki GUI PP adalah layer pada CDC yang menyediakan dukungan GUI 8
Optional packages CLDC & CDC dapat dilengkapi dengan optional packages untuk kebutuhan tertentu, seperti misalnya Bluetooth, wireless messaging, web service dll 9
CLDC KVM pada CLDC memiliki keterbatasan: tidak ada floating point tidak ada finalization error handling yang terbatas tidak ada object serialization tidak ada RMI CLDC 1.1 java.io java.lang java.lang.ref java.util java.microedition.io 10
MIDP MIDP menyediakan: application life cycle management: package javax.microedition.midlet user interface: package javax.microedition.lcdui network connection: menyediakan interface HttpConnection penyimpanan data: javax.microedition.rms 11
MIDlet Aplikasi MIDP memiliki satu atau beberapa kelas yang diturunkan dari kelas MIDlet MIDlet menyediakan 3 method dasar: startapp(): inisialisasi objek dan display pauseapp(): menghentikan aplikasi sementara destroyapp(): menghentikan aplikasi Aplikasi MIDP akan dieksekusi dan dikelola oleh sistem yang spesifik untuk setiap device, disebut sebagai Application Manager Aplication Manager bertugas untuk menginstall sebuah MIDlet pada perangkat, melakukan manajemen versi, menjalankan MIDlet dengan memanggil ketiga method di atas 12
MIDlet Langkah2 pemrograman pada MIDP: Menulis program/kelas MIDlet kompilasi verifikasi class file membuat Jar file membuat Jad file (file yang berisi deskripsi MIDlet dalam sebuah jar) instalasi MIDlet pada device 13
Tools Sun Java Wireless Toolkit menyediakan CLDC, MIDP dan optional package lainnya menyediakan software emulasi menyediakan lingkungan minimal untuk pengembangan aplikasi: kompilasi, packaging, dan emulator untuk eksekusi program IDE: Netbeans & Eclipse: Sun JWT terintegrasi dengan editor 14