PENGENALAN TERHADAP PEMBANGUNAN APLIKASI MOBILE Dirangkum Oleh : Baban Sobandi,SHI
[email protected] Tujuan
Mengidentifikasi karakteristik dari mobile Mendeskripsikan arsitektur dari J2ME Mengetahui aturan configuration dan profile Mengidentifikasi API yang telah disediakan oleh MIDP Mendeskripsikan siklus dari MIDP
Pembangunan Aplikasi Mobile Mobile device Java 2 Micro Edition CLDC CDC MIDP MIDlets Karakteristik mobile Berukuran kecil ◦ Terbatasnya display ◦ Input terbatas ◦ Terbatasnya dukungan multimedia Keterbatasan memori Keterbatasan sumber energi Rendahnya konsumsi energi Terbatasnya koneksi jaringan Terbatasnya waktu hidup Pembangunan Aplikasi Mobile Mobile device Java 2 Micro Edition CLDC CDC MIDP MIDlets Configuration Merupakan subset dari bahasa pemrograman Java Memberikan fungsi-fungsi dari Java Virtual Machine (VM) Sebuah library utama pada J2ME Memberikan fitur-fitur untuk security dan jaringan Profile Sebuah profile mendefinisikan API tambahan yang berjalan diatas configuration Profile memberikan fitur-fitur bagi market tertentu, dan bagi kategori tertentu dari device Configuration hanya mendefinisikan library dasar, sedangkan profile mendefinisikan library yang berguna untuk membuat sebuah aplikasi yang efektif. Library ini termasuk library untuk pembuatan user interface, networking, dan penyimpanan data Pembangunan Aplikasi Mobile Mobile device Java 2 Micro Edition CLDC CDC MIDP MIDlets
1
CLDC Fitur-fitur Java dan Virtual Machine (VM) Library dasar (java.lang.*, java.util.*) Input / Output (java.io) Security Networking Internationalization Fitur - fitur yang hilang Finalization Asynchronous exception Beberapa error class User defined class loader Reflection Java Native Interface (JNI) Thread groups dan daemon threads Karakteristik dari CLDC Minimal 192kb memori untuk Java Platform ◦ 160kb non-volatile memori bagi VM ◦ 32kb volatile memori bagi runtime VM 16 atau 32 bit processor Rendahnya konsumsi energi (baterai) Terbatasnya koneksi jaringan dan bandwith (biasanya digunakan wireless) Class Verification File.java
compile (javac)
Install verify (runtime)
File.class
preverify
interpret
File.class
Development Machine
Target Device
2
Generic Connection Framework
Connection
StreamConnectionNotifier
DatagramConnection
InputConnection
OutputConnection
StreamConnection
ContentConnection
Pembangunan Aplikasi Mobile CDC
Mobile device Java 2 Micro Edition CLDC CDC MIDP MIDlets java.io java.lang java.lang.ref java.lang.math java.net java.security java.security.cert java.text java.util java.util.jar java.util.zip
JTWI
3
MIDlets MIDP 2.0
WMA 1.1
MMAPI Optional 1.1 Packages
OEM APIs
CLDC 1.0 or 1.1 Device Operating System
Pembangunan Aplikasi Mobile Mobile device Java 2 Micro Edition CLDC CDC MIDP MIDlets MID Device Display: ◦ Ukuran Display ◦ Display depth ◦ Pixel ratio
: 96 x 54 : 1 bit : sekitar 1:1
Input (menerima satu atau dua mekanisme input berikut ini) : ◦ Keyboard dengan satu tangan ◦ Keyboard dengan dua tangan ◦ Touch screen Memori : ◦
256 kb dari memori non-volatile bagi implementasi dari MIDP, melebihi apa yang sudah disyaratkan pada CLDC ◦ 8 kB non-volatile memori untuk menyimpan data ◦ 128 kb volatile memori untuk Java runtime (misal: java heap) Jaringan ◦ Berjalan dua arah ◦ Wireless ◦ Dimungkinkan untuk disusupi pada saat koneksi ◦ Terbatasnya bandwidth Suara ◦ Kemampuan untuk menjalankan ring tones, baik melalui software maupun hardware tertentu Pembangunan Aplikasi Mobile Mobile device Java 2 Micro Edition CLDC CDC MIDP MIDlets MIDlets Sebuah aplikasi dari MIDP disebut sebagai MIDlet. Application Management Software (AMS) dari device ini akan bergerak mengikuti method create, start, pause, dan destroy dalam MIDlet 4
MIDlet adalah bagian dari paket javax.microedition.midlet. Sebuah MIDlet harus menjadi turunan dari class MIDlet. Ia dapat meminta parameterparameter yang dibutuhkan dari AMS seperti yang telah didefinisikan pada application descriptor (JAD) Sebuah MIDlet tidak memiliki (dan harus tidak memiliki) method main. Ia secara otomatis akan dikenali oleh AMS dari starting point sebuah program
MIDlet Life Cycle
new destroyApp()
startApp()
Paused Destroyed Active
pauseApp()
destroyApp()
Memulai Pemrograman Mobile Tujuan Menciptakan MIDlet sederhana Menciptakan proyek di Netbeans Menciptakan MIDlet di Netbeans Menjalankan MIDlet di Emulator Memulai Pemrograman Mobile Hello, World! MIDlet Menggunakan Netbeans dan Netbeans Mobility Pack MIDlet Life Cycle
5
new destroyApp()
startApp()
Paused Destroyed Active
pauseApp()
destroyApp()
Hello, World! MIDlet import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloMidlet extends MIDlet implements CommandListener { Display display; Command exitCommand = new Command("Exit", Command.EXIT, 1); Alert helloAlert; public HelloMidlet(){ helloAlert = new Alert( "Hello MIDlet", "Hello, world!", null, AlertType.INFO ); helloAlert.setTimeout(Alert.FOREVER); helloAlert.addCommand(exitCommand); helloAlert.setCommandListener(this); } public void startApp() { if (display == null){ display = Display.getDisplay(this); } display.setCurrent(helloAlert); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } Memulai Pemrograman Mobile Hello, World! MIDlet Menggunakan Netbeans dan Netbeans Mobility Pack Menggunakan Netbeans Membuka Netbeans Membuat project Membuat sebuah MIDlet yang baru Mengcompile dan menjalankan MIDlet Membuat Project 6
File -> New Project Category: Mobile Project: Mobile Application Tentukan nama project Pilih platform Membuat Project
Membuat MIDlet File -> New File... Category: MIDP File Type: MIDlet Tentukan nama MIDlet Tuliskan kode untuk MIDlet
7
8
9