Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "MIDP (MIDlet) dan Tools Mobile Computing Marsel Willem Aipassa, S. Kom."— Transcript presentasi:

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

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 extends MIDlet { public () {} 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) Marsel Willem Aipassa, S. Kom. Kelas MIDletKelas yang mendefenisikan metode lifecycle dari MIDlet (aplikasi MIDP) Eksepsi MIDletStateChangeExceptionEksepsi untuk menangani error perubahan state pada suatu MIDlet

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

8 Metode-metode kelas MIDlet MetodeDeskripsi 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) MetodeDeskripsi 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) MetodeDeskripsi 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 Marsel Willem Aipassa, S. Kom. 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); }

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.jad  File manifest.mf berada di dalam folder ‘build’ dari direktori project  File.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 :.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 AtributDeskripsi MIDlet-NameNama dari MIDlet MIDlet-VersionVersi dari MIDlet MIDlet-VendorVendor dari MIDlet MIDlet-IconIcon dari MIDlet MIDlet-DescriptionDeskripsi singkat mengenai MIDlet MIDlet-Info-URLURL yang memberikan informasi lebih lanjut mengenai MIDlet MIDlet- Nama, Icon dan Kelas dari MIDlet ke-n pada file JAR (dipisahkan dengan tanda koma) MIDlet-Jar-URLURL di mana file JAR dapat diakses Marsel Willem Aipassa, S. Kom.

35 MIDlet Attribute Nama AtributDeskripsi 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- Daftar inbound connection yang di- register ke MIDlet Marsel Willem Aipassa, S. Kom.

36 MIDlet Attribute Nama AtributDeskripsi MIDlet-Install-NotifyNotifikasi saat penginstallan MIDlet MIDlet-Delete-NotifyNotifikasi saat penghapusan MIDlet MIDlet-Delete-ConfirmNotifikasi 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) KeyDeskripsi microedition.platformNama host atau device microedition.encodingDefatult character encoding (ISO ) microedition.configurationNama dan versi dari configuration microedition.profilesNama 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 Mobile Computing Marsel Willem Aipassa, S. Kom."

Presentasi serupa


Iklan oleh Google