PEMOGRAMAN APLIKASI BERGERAK (Java ME) Yoannita
Daur Hidup MIDlet kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk status Pause setelah perintah baru dibuat. AMS memanggil constructor public tanpa argumen dari MIDlet. Author : Yoannita
Daur Hidup MIDlet Jika sebuah exception terjadi dalam constructor, MIDlet memasuki status Destroyed dan membuangnya segera. MIDlet masuk ke dalam status Active atas pemanggilan method startup() oleh AMS. MIDlet masuk ke dalam status Destroyed ketika AMS memanggil method destroyapp(). Status ini juga kembali diakses ketika method notifydestroyed() kembali dengan sukses kepada aplikasi. Dengan catatan bahwa MIDlet hanya bisa memasuki status Destroyed sekali dalam masa hidupnya. Author : Yoannita
Simple example The example code shows the three methods that must be implemeted to allow the application manager to control a MIDlet. public class Application extends MIDlet { public Application() { // Called when the MIDlet is created or re-started public void startapp() { // Called to pause the MIDlet public void pauseapp() { Author : Yoannita // Called to terminate the MIDlet public void destroyapp(boolean unconditional) { wikipedia
Keterangan Agar kita dapat membuat MIDlet, kita harus membuat subclass dari MIDlet class dari javax.microedition.midlet package. Kita juga harus melakukan override atau implement pada method: startapp(), destroyapp() dan pauseapp(). Method-method tersebut adalah method yang diperlukan oleh AMS untuk menjalankan dan mengkontrol MIDlet. Author : Yoannita
Author : Yoannita Langkah-langkah Lepas tanda centang pada Create Hello MIDlet
Author : Yoannita
Author : Yoannita
Kode Program import javax.microedition.midlet.*; public class ProgramPertama extends MIDlet { Display display; Form frmhitung; public void startapp() { public void pauseapp() { Definisi VARIABEL ditaruh di baris dalam kurung kurawal dari class Program Pertama, bukan di dalam constructor Hal ini dimaksudkan agar variabel tersebut dapat dikenal di semua method yang ada di dalam class Program Pertama public void destroyapp(boolean unconditional) { Author : Yoannita
Author : Yoannita Kode Program Terdapat dua buah error yang menyatakan bahwa display dan form tidak dikenali, hal ini dikarenakan kita belum mengimport library yang dibutuhkan
Author : Yoannita Kode Program Lakukan QUICK FIX untuk menyelesaikan permasalahan tersebut, dengan cara mengklik simbol error di sebelah kiri baris program, lalu pilih add import
Author : Yoannita Kode Program Hasil QUICK FIX
Author : Yoannita Kode Program Tambahkan constructor class Nama constructor harus sama persis dengan nama classnya
Kode Program Author : Yoannita Simpan dan Cek program anda Jika tidak ada error, jalankan program anda dengan menekan tombol run
Latihan Buatlah project yang baru dengan tampilan seperti di samping Kode program berikut ini hanyalah contoh, tambahkan \n seperlunya public class ProgramKedua extends MIDlet { Display display; Form frmtampil; public ProgramKedua() { display = Display.getDisplay(this); frmtampil = new Form("JUDUL FORM"); frmtampil.append("biodata :"); frmtampil.append("nama: MDP"); frmtampil.append("alamat: Jln. Rajawali 14"); Author : Yoannita frmtampil.append("tlp:376400\nfax:376360\ nwebsite:www.stmik-mdp.net"); 15
Latihan Ubahlah tipe emulator menjadi Default Color Phone Tampilkan bentuk data seperti di samping Author : Yoannita 16
INSTALASI KE PONSEL ECLIPSE : INSTALASI KE PONSEL MEMBUAT FILE JAD DAN JAR Pastikan program telah berjalan dengan baik Buatlah package Jalankan jad untuk mengecek hasil Instal jar ke dalam ponsel Apabila coding diperbaiki, buatlah package sekali lagi Author : Yoannita 17
Create Package(i) Klik <namaprj>.jad pada panel sebelah kiri Pilih tab Midlets Tambahkan MIDlet Sesuaikan namanya dgn nama class ber-extend MIDlet yg dibuat Author : Yoannita Note: Pada tab Required, sesuaikan versi configuration(cldc) dan profile(midp) dengan versi yang ada pada ponsel yg hendak diinstal
Create Package(ii) Author : Yoannita 19
Create Package(iii) Author : Yoannita Pada bagian choose Midlet, ketik nama class utama pada project tersebut, lalu pilih OK Save Klik kanan nama project, pilih J2ME, create package
INSTALASI KE PONSEL Jika anda menggunakan aplikasi Micro Edition Software Development Kit, sewaktu anda menjalankan aplikasi, file instalasi (jar dan jad) akan otomatis dibuat. Hal inilah yang menyebabkan proses RUN menjadi lebih lama. Pertanyaannya : di manakah lokasi anda membuat project tersebut? Pada folder apakah file jad dan jar dibuat? Author : Yoannita
Contoh lebih lanjut public class ProgramKedua extends MIDlet { Display display = Display.getDisplay(this);; Form frmtampil = new Form("Contoh Lanjutan"); public ProgramKedua() { frmtampil.append("program JAVA"); display.setcurrent(frmtampil); public void startapp() { public void pauseapp() { public void destroyapp(boolean unconditional) { Pembuatan objek dapat dilakukan bersamaan dengan inisialisasi variabel/objeknya Dikarenakan constructor akan otomatis dipanggil sewaktu class ProgramKedua dijalankan, anda dapat menuliskan display.setcurrent() pada constructor Author : Yoannita
Author : Yoannita Contoh lebih lanjut (Hasil tampilan)
Author : Yoannita Latihan Bagian mana dari potongan kode berikut ini yang merupakan baris komentar? public class Application extends MIDlet { public Application() { // Called when the MIDlet is created or re-started public void startapp() { // Called to pause the MIDlet public void pauseapp() { // Called to terminate the MIDlet public void destroyapp(boolean unconditional) {
Author : Yoannita Latihan Bagian mana dari potongan kode berikut ini yang merupakan CONSTRUCTOR? public class Application extends MIDlet { public Application() { // Called when the MIDlet is created or re-started public void startapp() { // Called to pause the MIDlet public void pauseapp() { // Called to terminate the MIDlet public void destroyapp(boolean unconditional) {
Author : Yoannita Latihan Bagian mana dari potongan kode berikut ini yang mencerminkan suatu inheritance (subclass dan superclassnya)? public class Application extends MIDlet { public Application() { // Called when the MIDlet is created or re-started public void startapp() { // Called to pause the MIDlet public void pauseapp() { // Called to terminate the MIDlet public void destroyapp(boolean unconditional) {
Latihan Bagian mana dari potongan kode berikut ini yang merupakan mencerminkan suatu parameter/argumen dari suatu method? public class Application extends MIDlet { public Application() { // Called when the MIDlet is created or re-started public void startapp() { // Called to pause the MIDlet public void pauseapp() { Author : Yoannita // Called to terminate the MIDlet public void destroyapp(boolean unconditional) {
Author : Yoannita Latihan Method apa yang merupakan turunan dari class MIDlet? public class ProgramPertama extends MIDlet implements CommandListener { public ProgramPertama() { protected void destroyapp(boolean arg0) throws MIDletStateChangeException { protected void pauseapp() { protected void startapp() throws MIDletStateChangeException { public void commandaction(command arg0, Displayable arg1) {
Author : Yoannita FORM documentation
Author : Yoannita