300 likes | 480 Views
PEMOGRAMAN APLIKASI BERGERAK (Java ME). Nyimas Artina. 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. Daur Hidup MIDlet.
E N D
PEMOGRAMAN APLIKASI BERGERAK (Java ME) NyimasArtina
DaurHidupMIDlet • kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. • MIDlet pada awalnya masuk status “Pause” setelahperintahbarudibuat. • AMS memanggil constructor public tanpaargumendariMIDlet.
DaurHidupMIDlet • Jikasebuah exception terjadidalam constructor, MIDletmemasuki status “Destroyed” danmembuangnyasegera. • MIDletmasukkedalam status “Active” ataspemanggilan method startUp() oleh AMS. • MIDletmasukkedalam status “Destroyed” ketika AMS memanggil method destroyApp(). • Status inijugakembalidiaksesketika method notifyDestroyed() kembalidengansukseskepadaaplikasi. DengancatatanbahwaMIDlethanyabisamemasuki status “Destroyed” sekalidalammasahidupnya.
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() { } // Called to terminate the MIDlet public void destroyApp(boolean unconditional) { } } wikipedia
Keterangan • Agar kitadapatmembuatMIDlet, kitaharusmembuat subclass dariMIDlet class darijavax.microedition.midlet package. • Kita jugaharusmelakukan override atau implement pada method: startApp(), destroyApp() danpauseApp(). • Method-method tersebutadalah method yang diperlukanoleh AMS untukmenjalankandanmengkontrolMIDlet.
Langkah-langkah Lepas tanda centang pada Create Hello MIDlet
Kode Program import javax.microedition.midlet.*; public class ProgramPertama extends MIDlet { Display display; Form frmHitung; public void startApp() { } public void pauseApp() { } public void destroyApp(boolean unconditional) { } } Definisi VARIABEL ditaruhdibarisdalamkurungkurawaldari class Program Pertama, bukandidalam constructor Hal inidimaksudkan agar variabeltersebutdapatdikenaldisemua method yang adadidalam class Program Pertama
Kode Program Terdapatduabuah error yang menyatakanbahwa display dan form tidakdikenali, halinidikarenakankitabelummengimport library yang dibutuhkan
Kode Program • Lakukan QUICK FIX untukmenyelesaikanpermasalahantersebut, dengancaramengkliksimbol error disebelahkiribaris program, lalupilih add import
Kode Program • Hasil QUICK FIX
Kode Program • Tambahkan constructor class • Nama constructorharussamapersisdengannamaclassnya
Kode Program SimpandanCek program anda Jikatidakada error, jalankan program andadenganmenekantombol 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"); frmTampil.append("Tlp:376400\nfax:376360\nwebsite:www.stmik-mdp.net"); }
Latihan • Ubahlahtipe emulator menjadi Default Color Phone • Tampilkanbentuk data sepertidisamping
INSTALASI KE PONSEL • ECLIPSE : INSTALASI KE PONSEL • MEMBUAT FILE JAD DAN JAR • Pastikan program telahberjalandenganbaik • Buatlah package • Jalankanjaduntukmengecekhasil • Instaljarkedalamponsel • Apabila coding diperbaiki, buatlah package sekalilagi
Create Package(i) • Klik <namaPrj>.jadpada panel sebelahkiri • Pilih tab Midlets • TambahkanMIDlet • Sesuaikannamanyadgnnama class ber-extend MIDletygdibuat • Note: • Pada tab Required, sesuaikanversiconfiguration(CLDC)danprofile(MIDP)denganversi yang adapadaponselyghendakdiinstal
Create Package(iii) • Padabagian choose Midlet,ketiknama class utamapada project tersebut, lalupilih OK • Save • Klikkanannama project, pilih J2ME, create package
INSTALASI KE PONSEL • Jikaandamenggunakanaplikasi Micro Edition Software Development Kit, sewaktuandamenjalankanaplikasi, file instalasi (jar danjad) akanotomatisdibuat. Hal inilah yang menyebabkanproses RUN menjadilebih lama. • Pertanyaannya : dimanakahlokasiandamembuat project tersebut? • Pada folder apakah file jaddan jar dibuat?
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
Latihan • Bagianmanadaripotongankodeberikutini yang merupakanbariskomentar? 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 • Bagianmanadaripotongankodeberikutini yang merupakanCONSTRUCTOR? 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 • Bagianmanadaripotongankodeberikutini yang mencerminkansuatuinheritance (subclass dansuperclassnya)? 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 • Bagianmanadaripotongankodeberikutini yang merupakanmencerminkansuatuparameter/argumen darisuatu 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() { } // Called to terminate the MIDlet public void destroyApp(boolean unconditional) { } }
Latihan • Method apa yang merupakanturunandari 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) { • } }