MIDP (MIDlet) dan Tools

Slides:



Advertisements
Presentasi serupa
GUI MENGGUNAKAN HANDPHONE BERFASILITAS J2ME
Advertisements

IT603 Ramos Somya.  Mahasiswa mampu memahami konsep dan penerapan komputasi mobile dan aplikasinya.
MIDP, MIDLet & Antar Muka J2ME
MIDlet User Interface (3) As’ad Djamalilleil
Komponen Class Item (2) As’ad Djamalilleil
Struktur Kode Program MIDlet As’ad Djamalilleil
WITH FANDI SUSANTO S.SI. Pemrograman Aplikasi Bergerak By Fandi Susanto S.Si.
Web Teknologi 3 (MKB721C) Minggu 2 Page 1 MINGGU 2 Web Teknologi 3 (MKB721C) Pokok Bahasan: –Midlet –User Interface Tujuan Instruksional Khusus: Agar.
Komponen Class Item (3) As’ad Djamalilleil
PEMOGRAMAN APLIKASI BERGERAK (Java ME)
MIDlet User Interface (2) As’ad Djamalilleil
Instalasi JME & Uji Coba As’ad Djamalilleil
Praktikum OOP Pengenalan Java Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
Java2 Micro Editon (J2ME)
Komponen Class Item (1) As’ad Djamalilleil
Mendapatkan input dari keyboard
Struktur Kode Aplikasi Java (1)
Pemrograman Aplikasi Bergerak
Pemrograman Aplikasi Bergerak
PEMOGRAMAN APLIKASI BERGERAK (Java ME)
WITH FANDI SUSANTO S.SI. Pemrograman Aplikasi Bergerak By Fandi Susanto S.Si.
Komponen-Komponen dalam J2ME
J2ME, Configuration & Profile
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME)
Basis Data pada J2ME RECORD MANAGEMENT SYSTEM (RMS)
PEMOGRAMAN APLIKASI BERGERAK (Java ME)
H. Risdiandri Iskandar, SKom, MM
Company LOGO PEMOGRAMAN APLIKASI BERGERAK (Java ME) Nyimas Artina.
PROGRAM APLIKASI MOBILE EMHA TAUFIQ LUTHFI PERTEMUAN 2.
Mobile Device & J2ME Oleh : Oman Somantri, S.Kom
Pengenalan Visual Studio 2008
By Dwija Wisnu Brata Your Incrediable J2ME. J2ME ? Java 2 Micro Edition adalah pengembangan bahasa Java yang disesuaikan agar mampu berjalan di perangkat.
Pemrograman berorientasi objek
Java Micro Edition (J2ME)
MOBILE TECNOLOGY (J2ME)
Memahami Ruang Lingkup Pemrograman
High Level User Interface
Networking Belajar bagaimana menerapkan sebuah MIDlet yang mempunyai kemampuan koneksi ke dalam jaringan Membuat koneksi HTTP, HTTP Redirects, HTTPS,
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
MODUL – II MEMBUAT PROGRAM SEDERHANA
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
MIDP High-Level User Interface
Pengorganisasian Class
Memahami Ruang Lingkup Pemrograman
Pengorganisasian Class
MOBILE TECNOLOGY (J2ME)
Identifier, Keyword, dan Tipe data
Tipe Data, Variabel, dan Operator
MIDlet User Interface (2)
Struktur Kode Program MIDlet
As’ad Djamalilleil Komponen Class Item (1) As’ad Djamalilleil
As’ad Djamalilleil Struktur Android As’ad Djamalilleil
As’ad Djamalilleil Class List As’ad Djamalilleil
MIDP Persistent Storage (RMS)
Tipe Data, Variabel, dan Operator
MIDlet User Interface (3)
Dasar Pemrograman MIDlet
MOBILE TECNOLOGY (J2ME)
Praktikum OOP Java (IX307)
Pengembangan Aplikasi Mobile
Mobile Media API (MMAPI)
Mobile Teknologi Pertemuan 3 Agung Brastama Putra.
Mobile Teknologi Pertemuan 3
Instalasi JME & Uji Coba
Mobile Teknologi Pertemuan 2
Pengenalan J2ME, Configuration & Profile
Inisiasi Class dan Object
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Memahami Ruang Lingkup Pemrograman
Tipe Data, Variabel, dan Operator
Transcript presentasi:

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

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.

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.

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

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.

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.

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

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.

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.

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.

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

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

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

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

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

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

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

Membuat MIDlet baru Marsel Willem Aipassa, S. Kom.

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

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.

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.

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

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

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.

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.

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.

Run MIDlet Suite Marsel Willem Aipassa, S. Kom.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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.

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

Terima Kasih Marsel Willem Aipassa, S. Kom.

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.

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.