Kali ini saya akan mengajak teman2 untuk belajar menampilkan
text, gambar dan suara pada J2ME. Sebelum masuk ke topic utamanya, yuk kita
pelajari dulu dasar-dasar pemrograman J2ME. Rumah tanpa pondasi gampang rubuh. Ngoding juga butuh pondasi biar ga keder hehe. Betul ngga?
Berikut ini bentuk umum syntax pemrograman J2ME:
Berikut ini bentuk umum syntax pemrograman J2ME:
import javax.microedition.midlet.*;
/**
* @author Pthroezt
*/
public class Midlet extends MIDlet {
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Berikut adalah penjelasan syntax di atas:
- method atartApp () akan memerintahkan MIDlet agar memperoleh fokus dan menjadikan MIDlet berada keadaan Active. Untuk memudahkan pemahaman, dapat dikatakan pula bahwa method startApp () itu digunakan untuk mengaktifkan MIDlet. Hal ini dapat terjadi ketika MIDlet baru saja dibuat atau MIDlet yang akan kembali diaktifkan dari keadaan Paused.
- method pauseApp () akan memerintahkan MIDlet agar tidak memiliki fokus dan akan menjadikan MIDlet berada dalam keadaan Paused. Dalam keadaan ini, aplikasi tidak dapar memiliki satu pun tampilan UI (user interface). Apabila aplikasi yang kita buat mengandung objek Thread maupun Timer, maka objek-objek tersebut tidak akan dihentikan secara manual melalui penulisan kode. Aplikasi akan kembali berada dalam keadaan Active bila diaktivasi ulang.
- method destroyApp () akan memerintahkan MIDlet agar membuang atau membebaskan semua resource (biasanya berupa file) yang digunakan sekaligus menutup atau menghentikan aplikasi sesegera mungkin. Ini berarti bahwa kita harus menutup semua stream yang masih terbuka serta menghentikan semua thread dan timer yang digunakan. Pemanggilan method destroyApp () akan mengakibatkan MIDlet berada dalam keadaan Destroyrd sehingga pada saat tersebut MIDlet sudah tidak dapat lagi melakukan pengaksesan terhadap objek Display.
Dasar Penulisan Kode (Syntax) Java
• Tipe DataTipe data bisa dikatakan kelompok ukuran memori yang akan kita gunakan untuk menyimpan informasi kode program dalam pemrograman.
Contoh : Berikut adalah beberapa contoh pendefinisian tipe data
Contoh Pendefinisian Tipe Data (Klik Gambar Untuk Memperbesar)
Pada penulisan kode program di java selalu diakhiri dengan tanda baca ‘;’.
• Struktur penulisan kode Java
• Operator Aritmatik (+, -, /, *)
Operator aritmatik adalah perintah-perintah yang digunakan untuk melakukan proses-proses dengan metode matematika seperti penjumlahan, pengurangan, dsb .
• Operator Logika
Membuat program untuk menampilkan text, gambar, dan suara
Berbekal dasar2 di atas, langsung aja yuk kita coba buat program untuk menampilkan text, gambar, dan suara di J2ME. Tentu saja penjelasan dasar tersebut masih sangat kurang. Teman2 bisa minta bantuan Mbah Google untuk lebih detilnya.Ketikkan baris2 program berikut di editor kesukaan teman2. Buat MIDlet baru dan beri nama filenya UTSPetrus. Kemudian di bawahnya akan saya coba bahas bagaimana program ini berjalan. Untuk melihat hasilnya saya menggunakan emulator.
import java.io.InputStream;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.VolumeControl;
/**
* @author Pthroezt
*/
public class UTSPetrus extends MIDlet
implements CommandListener{
private Display display;
private Command cmdKeluar, cmdDaftar, cmdKembali, cmdSubmit;
private Form form;
private Alert alert;
private List mMainScreen;
VolumeControl vc;
Player player;
public UTSPetrus(){
display = Display.getDisplay(this);
//membuat form
form = new Form("Welcome to Unkris");
try{
Image gambar = Image.createImage("/javapic.jpg");
ImageItem compGambar = new ImageItem("",gambar,Item.LAYOUT_CENTER,"Welcome");
form.append(compGambar);
}
catch(Exception ex){
}
String Text = "Petrus Tri H - 1370236022";
//membuat tiga buah command, "Keluar", "Audio", "Play"
cmdKeluar = new Command("Keluar", Command.EXIT,1);
cmdDaftar = new Command("Audio", Command.SCREEN,1);
cmdSubmit = new Command("Play", Command.SCREEN,2);
//menambahkan command kedalam form
form.append(Text);
form.addCommand(cmdKeluar);
form.addCommand(cmdDaftar);
form.setCommandListener(this);
}
public void startApp(){
display.setCurrent(form);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
private void form(){
form = new Form("Play Audio");
try{
Image gambar = Image.createImage("/music.jpg");
ImageItem compGambar = new ImageItem("",gambar,Item.LAYOUT_CENTER,"");
form.append(compGambar);
}
catch(Exception ex){
}
form.addCommand(cmdKeluar);
form.addCommand(cmdSubmit);
form.setCommandListener(this);
display.setCurrent(form);
}
public void PlayAudio() {
try {
InputStream is = getClass().getResourceAsStream("/Hello.mp3");
player = Manager.createPlayer(is, "audio/mpeg");
player.realize();
// get volume control for player and set volume to max
vc = (VolumeControl) player.getControl("VolumeControl");
if (vc != null) {
vc.setLevel(100);
}
player.prefetch();
player.start();
// player.stop();
}
catch (Exception e) {
showException(e);
}
}
private void showException(Exception e) {
Alert a = new Alert("Exception", e.toString(), null, null);
a.setTimeout(Alert.FOREVER);
display.setCurrent(a, mMainScreen);
}
public void commandAction(Command c, Displayable s){
if(c == cmdKeluar){
destroyApp(false);
notifyDestroyed();
}
else if (c==cmdDaftar){
form();
}
else if (c==cmdSubmit) {
PlayAudio();
}
}
}
Penjelasan program:
- Baris 1-6 berfungsi untuk memanggil class-class lain yang terhimpun di dalam package yang akan kita import.
- Baris 15-21 berfungsi untuk menginisialisasi variabel yang akan digunakan dalam program
- Baris 23-48 berfungsi untuk membuat sebuah form yang dengan judul "Welcome to Unkris". Di dalam form ini akan dibuat beberapa hal, yaitu: menampilkan background "javapic.png", membuat tulisan "Petrus Tri H - 1370236022" di bawah gambar, dan menambahkan tombol "Keluar" dan "Audio". Ketika tombol "Keluar" ditekan makan kita akan keluar dari tampilan emulator. Ketika tombol "Audio" ditekan maka kita akan dibawa ke form "Play Audio".
- Baris 60-76 berfungsi untuk membuat form dengan judul "Play Audio". Di dalam form ini akan dibuat beberapa hal, yaitu: menampilkan background "music.jpg", menambahkan tombol "Keluar" dan "Play". Ketika tombol "Keluar" ditekan makan kita akan keluar dari tampilan emulator.Ketika tombol "Play" ditekan makan program akan memutar file audio "Hello.mp3".
- Baris 78-96 berfungsi untuk memanggil file audio dan menjalankannya.
- Baris 98-102 berfungsi sebagai exception handling.
- Baris 104-106 berfungsi untuk menginisialisasi apa yang dilakukan program ketika kita menekan sebuah tombol.
- Hello.mp3
- javapic.jpg
- music.jpg
Berikut adalah tampilan program dalam sebuah emulator.
1. Tampilan awal ketika dijalankan
(Klik Gambar Untuk Memperbesar)
(Klik Gambar Untuk Memperbesar)
Sekian tutorial singkat ini, semoga bermanfaat. Bravo ;)
Salam sukses,
Pthroezt
Thomas Alva Edison: "Aku tidak gagal. Aku hanya menemukan 10.000 cara yang tidaklah bekerja"