TUTORIAL GAME
WIRELESS TOOLKIT (SUN JAVA)
I. TUJUAN
1. Agar mahasiswa dapat memahami project pada Wirelsess Toolkit (Sun Java)
2. Agar mahasiswa dapat menjalankan, mengerti, dan mengetahui funsi project pada Wireless Toolkit.
II. TEORI DASAR
Wireless Toolkit adalah emulator yang digunakan untuk mengetest aplikasi mobile (J2ME) yang sudah dibuat di komputer dan selanjutnya bisa ditransfer kedalam perangkat mobile melalui koneksi seperti bluetooth, atau infrared, atau pun dengan menggunakan kabel data. Tentunya simulasi bisa saja hasil yang didapatkan dari simulasi dengan percobaan sesungguhnya dalam perangkat mobile berbeda.
1. PERSIAPAN
Spesifikasi minimum hardware yang
diperlukan.
a. Windows XP (32 bit), Windows 7 (32 bit
atau 64bit).
b. Space Harddisk yang
diperlukan minimal adalah 500MB.
2. SOFTWARE
a. Java
JDK (Java Development Kit).
b. J2ME
WTK (Sun Java Wireless Toolkit for CLDC)
c. IDE
(Integrated Development Environment) atau Notepad.
3. INSTALASI
Install Sun Java Wireless Toolkit.
1. Klik dua kali pada file Sun Java
Wireless Toolkit 2.5.2 Windows.exe.
2. Kemudian akan tampil
kotak dialog instalasi, klik tombol Next untuk melanjutkan.
3. Kemudian akan tampil kotak lisensi software,
klik tombol Accept untuk menyetujui
4. Selanjutnya kamu bias mengatur alamat folder
untuk menginstall JDK. Secara default, file tersebut akan
diinstal pada folder Program Files. Klik tombol Browse jika ingin mengubah alamat
instalasi.
5. Klik Next,
instalasi dimulai. Tunggu sampai proses instalasi selesai
4. LANGKAH PERCOBAAN
a. Langkah Membuat Aplikasi Java di
Handphone.
1) Jalankan
aplikasi Sun Java Wireless Toolkit 2.5.2
2) Untuk mensimulasi project bawaan Sun Java
Wireless Toolkit 2.5.2, dapat dilakukan dengan
mengklik tab bar Open Project
3) Terdapat
banyak project program bawaan Sun Java Wireless Toolkit 2.5.2, dalam kasus ini
saya
akan menjalankan project Games. Kemudian klik Open Project.
4) Maka
akan muncul konfigurasi tempat lokasi file project yang sedang dibuat.
5) Pada
information bar Device, silakan pilih tipe Device yang akan digunakan. Pada bar
ini terdiri dari 4 pilihan yaitu Default Color Phone, Default Gray Phone, Media
Color Skin dan Qwety Device. Disini saya akan menggunakan Qwerty Device karena
simulasinya akan menggunakan Handphone berbasis Qwerty Keypad.
6) Kemudian
Run untuk melihat hasil simulasi.
7) Agar file tersebut dapat dijalankan di
handphone, dapat di Built pada icon
Built yang ada di bar Sun Wireless Toolkit dan akan menghasilkan dua file
berekstensi Jar dan Jad. File berekstensi Jar lah yang akan dikirim ke
Handphone.
8) Maka
akan muncul konfigurasi tempat lokasi file project yang telah dibuat. Program
yang telah dibuat akan disimpan di recktory C:\WTK2.5.2\apps\Games\src\example\pushpuzzle
9) Berikut
Source Program PDAP demo yang telah dijelaskan pada project sebelumnya. Copy
akan ke software IDE yang digunakan atau bisa dengan menggunakan Notepad.
/*
*
* Copyright (c) 2007, Sun Microsystems, Inc.
*
* All rights reserved.
*
* Redistribution and use in source and binary
forms, with or without
* modification, are permitted provided that
the following conditions
* are met:
*
* *
Redistributions of source code must retain the above copyright
*
notice, this list of conditions and the following disclaimer.
* *
Redistributions in binary form must reproduce the above copyright
*
notice, this list of conditions and the following disclaimer in the
*
documentation and/or other materials provided with the distribution.
* *
Neither the name of Sun Microsystems nor the names of its contributors
* may
be used to endorse or promote products derived from this software
*
without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
*/
package
example.pushpuzzle;
import
javax.microedition.lcdui.*;
import
javax.microedition.midlet.MIDlet;
/**
* PushPuzzle is the MIDlet that drives the
game. It puts up the
* screens and handles all the commands that
are invoked on each
* screen.
*/
public
class PushPuzzle extends MIDlet implements CommandListener {
Display display;
private PushPuzzleCanvas canvas;
private Score score;
private Screen scoreScreen;
private Screen levelScreen;
private Alert alert;
private Command undoCommand = new
Command("Undo", Command.BACK, 1);
private Command restartCommand = new
Command("Start Over", Command.CANCEL, 21);
private Command exitCommand = new
Command("Exit", Command.EXIT, 60);
private Command scoresCommand = new
Command("Show Scores", Command.SCREEN, 26);
private Command okCommand = new
Command("OK", Command.OK, 30);
private Command levelCommand = new
Command("Change Level", Command.SCREEN, 24);
private Command nextCommand = new
Command("Next Level", Command.SCREEN, 22);
private Command prevCommand = new
Command("Previous Level", Command.SCREEN, 23);
private Command themeCommand = new
Command("Switch Theme", Command.SCREEN, 25);
/**
* Creates new PushPuzzle MIDlet.
*/
public PushPuzzle() {
display = Display.getDisplay(this);
score = new Score();
canvas = new PushPuzzleCanvas(this,
score);
alert = new Alert("Warning");
if (!score.open()) {
System.out.println("Score open
failed");
}
canvas.init();
canvas.addCommand(undoCommand);
canvas.addCommand(scoresCommand);
canvas.addCommand(restartCommand);
canvas.addCommand(levelCommand);
canvas.addCommand(exitCommand);
canvas.addCommand(nextCommand);
canvas.addCommand(prevCommand);
canvas.addCommand(themeCommand);
canvas.setCommandListener(this);
}
/**
* Start creates the thread to do the
timing.
* It should return immediately to keep the
dispatcher
* from hanging.
*/
public void startApp() {
display.setCurrent(canvas);
}
/**
* Pause signals the thread to stop by
clearing the thread field.
* If stopped before done with the
iterations it will
* be restarted from scratch later.
*/
public void pauseApp() {
}
/**
* Destroy must cleanup everything.
* Only objects exist so the GC will do all
the cleanup
* after the last reference is removed.
*/
public void destroyApp(boolean
unconditional) {
display.setCurrent(null);
canvas.destroy();
if (score != null) {
score.close();
}
}
/**
* Respond to a commands issued on any
Screen
*/
public void commandAction(Command c,
Displayable s) {
if (c == undoCommand) {
canvas.undoMove();
} else if (c == restartCommand) {
canvas.restartLevel();
} else if (c == levelCommand) {
levelScreen =
canvas.getLevelScreen();
levelScreen.addCommand(okCommand);
levelScreen.setCommandListener(this);
display.setCurrent(levelScreen);
} else if ((c == okCommand) &&
(s == levelScreen)) {
if (!canvas.gotoLevel()) {
alert.setString("Could not
load level");
display.setCurrent(alert,
canvas);
} else {
display.setCurrent(canvas);
}
} else if (c == scoresCommand) {
scoreScreen =
canvas.getScoreScreen();
scoreScreen.addCommand(okCommand);
scoreScreen.setCommandListener(this);
display.setCurrent(scoreScreen);
} else if ((c == okCommand) &&
(s == scoreScreen)) {
display.setCurrent(canvas);
} else if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
} else if ((c == List.SELECT_COMMAND)
&& (s == canvas)) {
// Solved the level
scoreScreen =
canvas.getScoreScreen();
scoreScreen.addCommand(okCommand);
scoreScreen.setCommandListener(this);
display.setCurrent(scoreScreen);
// Read the next screen.
canvas.nextLevel(1);
} else if (c == nextCommand) {
if (!canvas.nextLevel(1)) {
alert.setString("Could not
load level " + (canvas.getLevel() + 1));
display.setCurrent(alert,
canvas);
} else {
display.setCurrent(canvas);
}
if (s == canvas) {
canvas.repaint();
}
} else if (c == prevCommand) {
if (!canvas.nextLevel(-1)) {
alert.setString("Could not
load level " + (canvas.getLevel() - 1));
display.setCurrent(alert,
canvas);
} else {
display.setCurrent(canvas);
}
if (s == canvas) {
canvas.repaint();
}
} else if (c == themeCommand) {
canvas.changeTheme();
}
}
}
b. Langkah
Pengetesan MIDlet Java di Handphone.
Kali ini saya menggunakan HP Qwerty
Nexian NX G900 yang support aplikasi Midlet Java dengan Sistem Operasi Symbian.
Saya menggunakan project Games.
1) Project
Games setelah di Built, kita akan menyimpan nya di handphone.
C:\Users\engla\j2mewtk\2.5.2\apps\Games\bin
2) Copy
file yang berekstensi di handphone
3) Kemudian
instalasi pada handphone anda.
4) Muncul
konfirmasi dari instalasi. Jika melakukan instalasi kllik “Ya” seperti berikut
5) Tunggu
beberapa saat, sedang menginstal project “Game” pada Java
6) Konfirmasi
untuk menjalankan Java MIDlet. Tekan “Ya” Untuk menjalankannya.
7) Setelah
selesai melalui proses penginstalan Java MIDlet untuk project “Games”, maka
akan muncul beberapa permainan.
0 komentar:
Posting Komentar