Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MIDP (MIDlet) dan Tools

Presentasi serupa


Presentasi berjudul: "MIDP (MIDlet) dan Tools"— Transcript presentasi:

1 MIDP (MIDlet) dan Tools
Marsel Willem Aipassa, S. Kom. Mobile Computing

2 MIDP Saat ini versi 2.0 Package-package: javax.microedition.lcdui
javax.microedition.lcdui.game javax.microedition.midet javax.microedition.media javax.microedition.media.control javax.microedition.rms javax.microedition.pki Marsel Willem Aipassa, S. Kom.

3 MIDP (2) MIDP 2.0 menambahkan fasilitas-fasilitas yang telah ada pada MIDP 1.0 Pada MIDP 1.0 API terdapat application management, HTTP network connectivity, user interface dan persistent storage MIDlet merupakan suatu aplikasi yang menggunakan MIDP Marsel Willem Aipassa, S. Kom.

4 MIDlet Lifecycle 3 state : Active Paused Destroyed
Marsel Willem Aipassa, S. Kom.

5 Struktur dasar MIDlet import javax.microedition.midlet.*; public class <NamaKelasMIDlet> extends MIDlet { public <NamaKelasMIDlet>() {} public void startApp() { } public void pauseApp() { public void destroyApp(boolean unconditional) { Marsel Willem Aipassa, S. Kom.

6 Package javax.microedition.midlet
Terdapat 2 kelas (1 kelas untuk exception) Kelas MIDlet Kelas yang mendefenisikan metode lifecycle dari MIDlet (aplikasi MIDP) Eksepsi MIDletStateChangeException Eksepsi untuk menangani error perubahan state pada suatu MIDlet Marsel Willem Aipassa, S. Kom.

7 Kelas MIDlet Konstruktor
protected MIDlet() Metode-metode dari kelas dapat dilihat sebagai berikut: Marsel Willem Aipassa, S. Kom.

8 Metode-metode kelas MIDlet
Deskripsi public final int checkPermission(String permission) Metode ini digunakan untuk memperoleh status dari permission tertentu. Akan mengembalikan 0 jika permission denied, 1 jika permission allowed, dan -1 jika permission unknown protected abstract void destroyApp(boolean unconditional) throws MIDletStateChangeException Metode ini digunakan untuk mengakhiri aplikasi. Jika parameter unconditional adalah true, maka MIDlet harus berhenti dan membebaskan semua resource yang digunakan (cleanup). Jika bernilai false, maka MIDlet dapat melemparkan eksepsi MIDletStateChangeException untuk menandakan bahwa MIDlet tersebut tidak dapat dihentikan saat ini karena masih ada rutin yang harus dikerjakan Marsel Willem Aipassa, S. Kom.

9 Metode-metode kelas MIDlet (2)
Deskripsi public final String getAppProperty(String key) throws MIDletStateChangeException Metode ini digunakan untuk mengambil property dari file .JAD dan .JAR public final void notifyDestroyed() Metode ini digunakan oleh MIDlet untuk menginformasikan kepada AMS bahwa MIDlet tersebut telah memasuki state Destroyed public final void notifyPaused Metode ini digunakan oleh MIDlet untuk menginformasikan kepada AMS bahwa MIDlet tersebut telah memasuki state Paused protected abstract void pauseApp() Metode ini digunakan untuk pause MIDlet public final boolean platformRequest(String URL) throws ConnectionNotFoundException Meminta Device untuk menangani URL Marsel Willem Aipassa, S. Kom.

10 Metode-metode kelas MIDlet (3)
Deskripsi public final void resumeRequest() Metode ini digunakan oleh MIDlet untuk kembali ke status Active dari status Paused protected abstract void startApp() Metode ini digunakan untuk memulai aplikasi Marsel Willem Aipassa, S. Kom.

11 Kelas MIDletStateChangeException
Konstruktor MIDletStateChangeException() MIDletStateChangeException(String s), s adalah pesan eksepsi Marsel Willem Aipassa, S. Kom.

12 Software Requirement Java Environment (Java SDK)
Platform emulator (Sun Java (TM) Wireless Toolkit for CLDC) IDE (Netbeans 6.7.1) Marsel Willem Aipassa, S. Kom.

13 Pilih File, New Project…
Marsel Willem Aipassa, S. Kom.

14 Pilih Kategori Java ME Marsel Willem Aipassa, S. Kom.

15 Pada Projects, pilih Mobile Application
Marsel Willem Aipassa, S. Kom.

16 Beri nama dan hilangkan centang pada ‘Create Hello MIDlet’
Marsel Willem Aipassa, S. Kom.

17 Pilih jenis konfigurasi dan profile (disesuaikan dengan device yang dituju)
Marsel Willem Aipassa, S. Kom.

18 Membuat MIDlet baru Marsel Willem Aipassa, S. Kom.

19 Beri nama MIDlet lalu Finish
Marsel Willem Aipassa, S. Kom.

20 Contoh MIDlet Sederhana
import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class HelloMIDlet extends MIDlet implements CommandListener{ private Form formMain; public HelloMIDlet() { formMain = new Form("Judul Form"); formMain.append(new StringItem("Label: ", “Hello MIDP World")); formMain.addCommand(new Command("Exit", Command.EXIT, 0)); formMain.setCommandListener(this); } Marsel Willem Aipassa, S. Kom.

21 Contoh MIDlet Sederhana (2)
public void startApp() { Display.getDisplay(this).setCurrent(formMain); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable d) { if(c.getCommandType() == Command.EXIT){ destroyApp(true); notifyDestroyed(); Marsel Willem Aipassa, S. Kom.

22 Run Aplikasi (F6) Marsel Willem Aipassa, S. Kom.

23 MIDlet Suite Beberapa MIDlet dapat ditempatkan ke dalam satu MIDlet suite Contoh MIDlet yang pertama adalah HelloMIDlet yang sebelumnya Marsel Willem Aipassa, S. Kom.

24 MIDlet Suite Aplikasi kedua import javax.microedition.lcdui.*;
import javax.microedition.midlet.*; public class Welcome extends MIDlet implements CommandListener{ private Display disp; private TextBox txtBox; private Command cmdExit; public Welcome() { cmdExit = new Command("Exit", Command.EXIT, 0); txtBox = new TextBox("Welcome", "Mobile Computing", 50, 0); txtBox.addCommand(cmdExit); txtBox.setCommandListener(this); } Marsel Willem Aipassa, S. Kom.

25 MIDlet Suite public void startApp() { disp = Display.getDisplay(this); disp.setCurrent(txtBox); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable d) { if(c == cmdExit){ destroyApp(true); notifyDestroyed(); Marsel Willem Aipassa, S. Kom.

26 MIDlet Suite Dengan dibuatnya MIDlet Welcome, maka telah ada sebuah MIDlet Suite yang berisi dua buah MIDlet yaitu ‘HelloMidlet’ dan ‘Welcome’ Dalam Netbeans, MIDlet baru otomatis ditambahkan ke dalam MIDlet Suite Marsel Willem Aipassa, S. Kom.

27 Run MIDlet Suite Marsel Willem Aipassa, S. Kom.

28 MIDlet Suite Setting dari MIDlet Suite dapat diatur melalui tab Application Descriptor pada Properties project Marsel Willem Aipassa, S. Kom.

29 MIDlet Suite Selain itu, setting MIDlet suite juga dapat diatur/dilihat dari file manifest.mf dan file <nama_project>.jad File manifest.mf berada di dalam folder ‘build’ dari direktori project File <nama_project>.jad berada di dalam folder ‘dist’ dari direktori project Isi dari kedua file tersebut dapat dilihat sebagai berikut: Marsel Willem Aipassa, S. Kom.

30 File : manifest.mf MIDlet-2: Welcome, , WelcomeMIDlet-1: HelloMIDlet, , HelloMIDletMIDlet-Vendor: VendorMIDlet-Name: CobaMobileAppMIDlet-Version: 1.0MicroEdition-Configuration: CLDC-1.1MicroEdition-Profile: MIDP-2.1 Marsel Willem Aipassa, S. Kom.

31 File : <nama_project>.jad
MIDlet-1: HelloMIDlet, , HelloMIDlet MIDlet-2: Welcome, , Welcome MIDlet-Jar-Size: 2277 MIDlet-Jar-URL: CobaMobileApp.jar MIDlet-Name: CobaMobileApp MIDlet-Vendor: Vendor MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.1 Marsel Willem Aipassa, S. Kom.

32 File Archive (.JAR) Satu atau lebih MIDlet dapat dipaketkan ke dalam satu file JAR yang berisi: File manifest (.MF) yang mendeskripsikan content dari file JAR Kelas dari MIDlet-MIDlet yang ada di dalam MIDlet suite serta kelas-kelas lain yang digunakan oleh MIDlet yang berada di dalam MIDlet Suite File resource (image, sound) yang digunakan oleh MIDlet dalam MIDlet suite Marsel Willem Aipassa, S. Kom.

33 File Manifest (.MF) File manifest (.MF) mendefenisikan atribut-atribut dari MIDlet. Atribut-atribut nantinya digunakan oleh Application Management Software (AMS) pada device untuk mengidentifikasikan, menginstall dan menjalankan MIDlet. Atribut-atribut yang digunakan dapat dilihat pada tabel berikut Marsel Willem Aipassa, S. Kom.

34 MIDlet Attribute Nama Atribut Deskripsi MIDlet-Name Nama dari MIDlet
MIDlet-Version Versi dari MIDlet MIDlet-Vendor Vendor dari MIDlet MIDlet-Icon Icon dari MIDlet MIDlet-Description Deskripsi singkat mengenai MIDlet MIDlet-Info-URL URL yang memberikan informasi lebih lanjut mengenai MIDlet MIDlet-<n> Nama, Icon dan Kelas dari MIDlet ke-n pada file JAR (dipisahkan dengan tanda koma) MIDlet-Jar-URL URL di mana file JAR dapat diakses Marsel Willem Aipassa, S. Kom.

35 MIDlet Attribute Nama Atribut Deskripsi MIDlet-Jar-Size
Ukuran file JAR MIDlet-Data-Size Jumlah minimum (dalam byte) yang dibutuhkan untuk persistent data pada MIDlet MicroEdition-Profile Profile dari MIDlet MicroEdition-Configuration Configuration dari MIDlet MIDlet-Permissions Daftar Permissions untuk fungi-fungsi critical yang digunakan oleh MIDlet MIDlet-Permissions-Opt Daftar Permissions untuk fungi-fungsi non critical yang digunakan oleh MIDlet MIDlet-Push-<n> Daftar inbound connection yang di-register ke MIDlet Marsel Willem Aipassa, S. Kom.

36 MIDlet Attribute Nama Atribut Deskripsi MIDlet-Install-Notify
Notifikasi saat penginstallan MIDlet MIDlet-Delete-Notify Notifikasi saat penghapusan MIDlet MIDlet-Delete-Confirm Notifikasi konfirmasi saat penghapusan MIDlet Marsel Willem Aipassa, S. Kom.

37 File Descriptor (.JAD) Setiap file .JAR mempunyai file pendamping, yaitu file .JAD (Java Application Descriptor). File .JAD dan .JAR dipergunakan oleh AMS untuk mengatur MIDlet Aturan untuk file descriptor: Ekstensi dari file adalah .jad MIME type dari descriptor adalah: text/vnd.sun.j2me.app-descriptor Marsel Willem Aipassa, S. Kom.

38 File Descriptor (.JAD) Atribut-atribut yang harus ada di dalam descriptor antara lain: MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-Jar-URL MIDlet-Jar-Size Marsel Willem Aipassa, S. Kom.

39 CLDC CLDC 1.0, CLDC 1.1 (mendukung floating point)
Merupakan subset dari CDC dan Java SE Package-package pada CLDC java.lang java.lang.ref (CLDC 1.1) java.util java.io javax.microedition.io Marsel Willem Aipassa, S. Kom.

40 CLDC Property CLDC menyediakan cara untuk mengakses properti dari sistem Properti dari sistem dapat diakses dengan menggunakan metode System.getProperty(String key) Contoh : System.getProperty(“microedition.platform”); Marsel Willem Aipassa, S. Kom.

41 CLDC Property (2) Key Deskripsi microedition.platform
Nama host atau device microedition.encoding Defatult character encoding (ISO ) microedition.configuration Nama dan versi dari configuration microedition.profiles Nama dan versi dari profile Marsel Willem Aipassa, S. Kom.

42 Menginstal MIDlet ke device
Build Project Marsel Willem Aipassa, S. Kom.

43 Menginstal MIDlet ke device (2)
Buka direktori project, lalu copy file .jad dan .jar yang berada di dalam folder dist ke perangkat Marsel Willem Aipassa, S. Kom.

44 Menginstal MIDlet ke device (3)
Di perangat mobile, browse kedua file tadi lalu install Marsel Willem Aipassa, S. Kom.

45 Terima Kasih Marsel Willem Aipassa, S. Kom.

46 Kuis Apa itu AMS?Apa fungsinya? (20 poin) Apa itu MIDlet? (20 poin)
Sebutkan dan jelaskan fungsi dari 2 file yang berada di dalam MIDlet Suite! (20 poin) Sebutkan versi CLDC dan MIDP terbaru! (20 poin) Sebutkan nama asisten kelas ini! (20 poin) Marsel Willem Aipassa, S. Kom.

47 Tugas Per kelompok Install platform emulator lain untuk J2ME di Netbeans, sertakan screenshot Buat aplikasi MIDP sederhana dan install di perangkat mobile Kumpulkan hari Senin jam 12 (softcopy screenshot dan source code aplikasi) di ruangan pak Ramos Marsel Willem Aipassa, S. Kom.


Download ppt "MIDP (MIDlet) dan Tools"

Presentasi serupa


Iklan oleh Google