Archive

Archive for the ‘JAVA’ Category

About Gauge on J2ME

September 4, 2008 Leave a comment

Sering kali kita temui pada saat kita mengirim SMS terlihat sebuah form progres atau saat kita menginstal sebuah aplikasi..form tersebut biasa kita sebut dengan Gauge..dalam J2ME ada dua macam gauge yaitu interactive dan non interactive. Untuk interactive gauge user dapat mengubah nilai. gauge ini seperti slide bar, biasanya digunakan pada setting volume. gauge ini terdiri dari nili minimun dan maksimum dan nilai sekarang. parameter dari gauge ini terdiri dari nama, kondisi gauge must be true untuk interactive gauge, nilai maximum dan nilai sekarang. berikut ini interactive gauge dengan nilai maksimum 5 dan nilai sekarang 3:

Gauge gauge = new Gauge(“Interactive”, true, 5, 3);

Adapun Noninteractive gauge biasanya digunakan untuk menunjukkan sesuatu yang membutuhkan waktu yang lama, misalnya proses install aplikasi, pengiriman sms dll. kamu dapat menentukan nilai maksimum dan mengganti nilai sekarang dari program aplikasi yang kamu buat atau kamu dapat menggunakan salah satu dari 2 macam noninteractive gauge. adapun 2 macam tersebut adalah sebagai berikut:

Continuous : menunjukkan suatu animasi yang menandakan suatu aplikasi sedang bekerja, misalnya kirim sms atau koneksi internet. untuk membuat continuous noninteractive gauge menggunakan INDEFINITE untuk nilai maksimum dan COUNTINUOUS_RUNNING untuk nilai saat ini. berikut contoh programnya:

Gauge cgauge = new cgauge(“Non-I Countinuous”, false, Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING);

incremental : cara kerja incremental gauge hampir sama dengan gauge yang lain, tapi aplikasi yang kamu buat mesti mengupdate setiap kali posisi gauge mau dipindah.

Gauge igauge = new igauge(“Non-I Incremental”, false, Gauge.INDEFINITE, Gauge.INCREMENTAL_UPDATING);

untuk membuat incremental gauge berubah, set nilai untuk INCREMENTAL_UPDATING dengan cara

ig.setValue(Gauge.INCREMENTAL_UPDATING);

akhirnya kamu juga dapat mensetting noninteractive indefinite gauge untuk menampilkan kondisi ilde dengan menset nilai salah satu dari CONTINUOUS_IDLE atau INCREMENTAL_IDLE.

Categories: JAVA, Tutorial

About LISTS on J2ME

September 2, 2008 Leave a comment

Sering kita jumpai dalam aplikasi handphone yang menampilkan menu berupa list baik itu yang radio buttons atau check box..ada 3 macam list yang akan dibahas yaitu:
1. Exclusive –> hanya satu item yang dipilih, ditunjukkan dalam radio buttom.
2. Multiple –>boleh memilih lebih dari satu item, ditunjukkan dalam checkboxes.
3. Implicit –> seperti Exclusive list, tapi list ini seperti menu dan cara penanganannya pun berbeda.
Untuk membuat sebuah list ada dua komponen yaitu nama list dan tipe list yang akan dibuat. Adapun programnya sebagai berikut:

List entreeList = new List(“Select an entree”, List.EXCLUSIVE);

untuk menambahkan item list ada dua komponen yaitu nama item dan gambar (optional). jika gambar tidak ada maka cukup dengan menuliskan null, tapi nama item harus ada

entreeList.append(“Item1″, null);

berikut ini contoh programnya:
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
  • /

import java.io.IOException;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**

  • @author Gama
  • /

public class ListMidlet extends MIDlet implements CommandListener{
private static final String kEntree = “Entree”;
private static final String kTopping = “Topping”;
private static final String kExit = “Exit”;
private Display mDisplay;
private List mMainList, mEntreeList, mToppingList;
private Command mOkCommand;
public void startApp() {
if (mMainList == null){
mMainList = new List(“Create”, List.IMPLICIT);
Image entreeImage = null;
Image toppingImage = null;
Image exitImage = null;
try{
entreeImage = Image.createImage(“/day.png”);
toppingImage = Image.createImage(“/day.png”);
exitImage = Image.createImage(“/day.png”);
}
catch (java.io.IOException ioe){}
catch (Exception e){}
mMainList.append(kEntree, entreeImage);
mMainList.append(kTopping, toppingImage);
mMainList.append(kExit, exitImage);
mMainList.setCommandListener(this);
mOkCommand = new Command(“Ok”, Command.OK, 0);

mEntreeList = new List(“Select Entree”, List.EXCLUSIVE);
mEntreeList.append(“Test1″,null);
mEntreeList.append(“Test2″,null);
mEntreeList.append(“Test3″,null);
mEntreeList.append(“Test4″,null);
mEntreeList.addCommand(mOkCommand);
mEntreeList.setCommandListener(this);

mToppingList = new List(“Topping”, List.MULTIPLE);
mToppingList.append(“Choose1″,null);
mToppingList.append(“Choose2″,null);
mToppingList.append(“Choose3″,null);
mToppingList.append(“Choose4″,null);
mToppingList.addCommand(mOkCommand);
mToppingList.setCommandListener(this);

mDisplay = Display.getDisplay(this);

}
mDisplay.setCurrent(mMainList);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d){
if (c == List.SELECT_COMMAND && d == mMainList){
int actionIndex = mMainList.getSelectedIndex();
if (actionIndex<0)return;
String action = mMainList.getString(actionIndex);
if (action.equals(kExit)){
destroyApp(true);
notifyDestroyed();
}
else if (action.equals(kEntree)){
mDisplay.setCurrent(mEntreeList);
}
else if (action.equals(kTopping)){
mDisplay.setCurrent(mToppingList);
}
}
else if (c == mOkCommand){
mDisplay.setCurrent(mMainList);
}
}
}

untuk file gambar yang terdapat di program
entreeImage = Image.createImage(“/day.png”);
toppingImage = Image.createImage(“/day.png”);
exitImage = Image.createImage(“/day.png”)
gambar di taruh di folder source Packages pada project yang dibuat. Tampilan program seperti gambar di bawah:

Salam Hangat..

Dayat Kurniawan

Categories: JAVA, Tutorial

Hello J2ME with Netbeans 6.1

September 1, 2008 1 comment

Dari pada bengong ndak ada kerjaan, mendingan liat-liat bagaimana membuat program aplikasi HP menggunakan J2ME. J2ME merupakan program aplikasi dari java yang dipakai dalam aplikasi HP. Adapun tool yang dibutuhkan salah satu dari tool-tool dibawah ini:
1. Sun Java Wireless Toolkit –> bisa didownload di http://java.sun.com/products/sjwtoolkit, sebelum menginstall toolkit tersebut, kamu membutuhkan Java 2 Platform, Standart Edition Development Kit (JDK) version 1.5.0 atau yang terbaru dan Apple’s QuickTime Player.
2. Netbeans Mobile Pack –> bisa didownload di http://www.netbeans.org/products/mobility
3. Eclipse (EclipseME) –> bisa di download di http://eclipseme.org
Pada tulisan digunakan netbeans 6.1 mobile pack. Pada tulisan sebelumnya telah dibahas mengenai MIDP. Phone atau devais MIDP mengerti bagaimana menjalankan MIDlets. MIDlets adalah sebuah aplikasi dari MIDP. Untuk membuat MIDlets kamu membutuhkan pendefinisan class yang dijabarkan di javax.microeditonal.midlet.MIDlet.
MIDlet mempunyai 3 methode yang mesti didefinisikan dalam subclass, yaitu:
1. startApp() –> dipanggil untuk inisialisasi MIDlet atau kembali dari pause
2. pauseApp() –> akan mempause aplikasi jika ada aplikasi yang lain,misalnya menanggapi panggilan telephone.
3. destroyApp() –> dipanggil ketika aplikasi selesai dijalankan
untuk membuat project pertama kali ini yang kita namakan hello word, jalankan netbeans–> New Project –> select Category Project : Mobility –> Project MIDP Application –> isi project name dan folder project akan disimpan (uncheck Create Hello MIDlet) –> isi Default platform selection (Sesuai denga HP kamu) –> finish.langkah berikutnya
pada project (kita namakan hello)–> source Package —> new MIDlet –> tulis nama–> finish
maka akan muncul dalam editor
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
  • /

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**

  • @author Gama
  • /

public class HelloMidlet extends MIDlet {
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
apabila program ini di run, maka dilayar emulator tidak akan muncul apa-apa. Supaya di Emulator muncul kata “Hello J2ME” maka perlu ditambahkan beberapa syntax program. Program lengkapnya ada di bawah ini:
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
  • /

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**

  • @author Gama
  • /

public class HelloMidlet extends MIDlet {
public void startApp() {
Form test = new Form(“Hello J2ME”);
Display.getDisplay(this).setCurrent(test);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Hati2 program bersifat case sensitive…
To be Continue…

Salam Hangat
Dayat Kurniawan

Categories: JAVA, Tutorial

MSA APIs

Dalam pembahasan MSA lebih mudahnya kalo dikelompokkan berdasarkan topik. Berikut ini beberapa pembahasan terkait hal tersebut:

  1. Basic MIDP Platform –> Dasar dari sebuah applikasi di mobile device adalah MIDP dan CLDC. CLDC menyediakan JVM dan pokok dari APIs. MIDP  menambahkan APIs untuk interface ke user, model aplikasi, media penyimpanan, HTTP dan HTTPs untuk networking. MIDP juga dilengkapi dengan push registry, dengan ini sebuah aplikasi dapat menyimpan data di server lain melalui network .
  2. Advance Networking –> JSR 120 (WMA 1.1) memungkinkan sebuah aplikasi untuk mengirim dan menerima pesan text menggunakan Short Message Service (SMS) atau Cell Broadcast Service (CBS).  Generasi berikutnya adalah JSR 205 (WMA 2.0) memungkinkan pengiriman dan penerimaan images dan media yang lain melalui Multimedia Message Service (MMS). Device yang memiliki hardware Bluetooth dapat memakai JSR 82 Bluetooth API. Sedangkan device dengan Bluetooth atau infrared hardware dapat juga mengimplemantasikan JSR 82 OBEX API. MSA juga di mengadung JSR 180 yang disebut juga Session Initiation Protocol (SIP) API, merupakan cara standart untuk set up communication Session.
  3. Multimedia –> JSR 135, MMAPI menyediakan kapabilitas  untuk memutar dan mengambil bagian dari media (suara,video). Format dan Protocol yang didukung ditentukan oleh capability dari devais. Bagian kecil dari MMAPI untuk memutar file audio merupakan bagian dari MIDP. JSR 234 (Advanced Multimedia Supplement,AMS) merupakan pengembangan dari MMAPI dengan support yang lebih baik untuk kamera dan fiture baru effect audio dan 3D audio.
  4. Advanced Graphics –> MIDP 1.0 menyediakan cabilitas yang sangat bagus untukmembangun user interface menggunakan predifined type sebagaimana kebutuhan menggambar. MIDP 2.0 menambahkan fitur lebih banyak termasuk Game API.  MSA membangun grafik MIDP’s yang cocok dengan grafik API’s yang lebih tinggi. JSR 184 (Mobile 3D Graphics,M3G) API untuk J2ME. Aplikasi dapat menggunakan M3G untuk membangun 3D scenes di udara atau mengunduh dari file. JSR 226 (Scalable 2D Vector Graphics API) mengijinkan aplikasi untuk menjalankan isi dari SVG (scalable vector graphics).
  5. Security and Transactions –> MIDP 2.0 memerlukan dukungan untuk koneksi HTPPS, dimana keamanan yang cukup untuk banyak aplikasi. Sebagai Tambahannya MSA mengandung API’s untuk komunikasi dengan smart card atau membuat pembayaran. JSR 177 (Security and Trust Services, mendefinisikan empat API), tiga bagian dari MSA. SATSA-APDU dan SATSA-PKI berguna untuk aplikasi yang ingin menggunakan smart card untuk bekerja atau  melaksanakan operasi cryptographic. Mereka menyediakan level tambahan dari keamanan untuk sensitif data. SATSA-APDU dan SATSA-PKI adalah kewajiban yang kondisional tergantung dari ketersediaan hardware. SATSA-CRYPTO adalah fungsi umum API cryptographic dan komponen wajib dari MSA. Sebuah aplikasi yang mengijinkan pengguna untuk membayar dapat menggunakan JSR 229 (Payment API). Sebagai contohnya sebuah game yang mengharuskan pengguna membayar untuk level baru bisa menggunakan Payment API.
  6. Location —> JSR 179 (Location API) menyediakan akses aplikasi ke lokasi phisik dari device. Itu dapat bekerja jika devais tersebut mempunyai banyak cara untuk menentukan lokasinya sendiri. metode ini dinamakan GPS.
  7. Advanced Application Invocation –> MIDP 2.0 menyediakan push registry untuk MIDlets dalam merespon masuknya aktifitas network. MSA menyediakan cara lain untuk menjalankan aplikasi, JSR 211 (Content Handler API,CHAPI). CHAPI map mengandung type untuk aplikasi. sebagai contohnya, jika devais menerima file movie, maka aplikasi tersebut dapat dikonfigurasi untuk melihat isi dari file tersebut.
  8. Advanced Application Services –> JSR 75 menyediakan dua APIs yang penting. Personal Information Management (PIM) API, mengijinkan aplikasi untuk membaca informasi yang disimpan di buku telepon, kalender dan daftar telepon. File Connection API, memberikan aplikasi yang cocok untuk membaca dan menulis file untuk disimpan di devais. JSR 172 mendefinisikan API untuk Web Services. MSA hanya membutuhkan satu yaitu Java API untuk XML Parsing (JAXP). Dan akhirnya JSR 238 (Mobile Internationalization API,MIA) mendefinisikan sebuah struktur sumber file dan mendukung API untuk memudahkan dalam pembuatan aplikasi multi bahasa yang dapat disebarkan kepada pendengar di seluruh dunia.

Belajar dan Terus Belajar..

d_yat02@yahoo.com

Categories: JAVA, Tutorial

Introduction MIDP and MSA

MIDP atau Mobile Information Device Profile adalah dasar dari sebagian besar Java Technology Mobila Application (J2ME). Spesifikasi MIDP dedefinisikan oleh gabungan dari perusahan dan individu yang tertarik dengan aplikasi mobile melalui Java Community Process (JCP). Spesifikasi yang didefinisikan oleh JCP disebut Java Specification Request (JSRs) dan setiap JSRs ditandai dengan nomor misalnya JSR 37, JSR 30. MIDP yang pertama kali didefinisikan sebagai JSR 37 yang dipublikasikan pada September 2000. MIDP 1.0 mendefinisikan kelengkapan untuk aplikasi java agar bisa dijalankan di device yang berukuran kecil. MIDP sebenarnya terrdiri dari aplikasi lain yang disebut Connected Limiter Device Configuration (CLDC). CLDC 1.0 didefinisikan oleh JSR 30. CLDC mendefinisikan perilaku dari Java Virtual Machine (JVM) yang digunakan pada mobile device dan menyediakan beberapa basic APIs. MIDP menambahkan APIs untuk aplikasi dan interface ke User.

Dalam perkembangannya APIs memiliki bayak pilihan antara lain JSR 120 untuk Wireless Messaging API or WMA, JSR 135 untuk Mobile Media API atau MMAPI. Sejak saat itu banyak aplikasi yang ditambahkan diantaranya mendukung bluetooth networking, Global Positoning System (GPS) hardware, 3D Graphics dll.Mengingat perkembangannya yang begitu pesat maka diperlukan suatu wadah yang menampung itu semua. Wadah itu dinamakan Java Technology fo r Wireless Industry (JWTI, JSR 185). JWTI merupakan spesifikasi yang mengkaver MIDP 2.0, CLDC 1.1/1.0, WMA dan MMAPI (optional). JWTI juga mendefinisikan kebutuhan yang lain untuk implementasi seperti minimum memory, munimum multithreading dan perilaku APIs.

Perkembangan berikutnya adalah JSR 248 atau yang dikenal dengan Mobile Service Architecture (MSA). MSA mengkover JWTI dan perluasannya. MSA mendefinisikan 2 wadah, satu MSA itu sendiri yang satunya MSA subset. MSA subset didesain untuk device yang tidak memiliki hardware power untuk mendukung tatanan MSA secara penuh.

:)

Salam Hangat – Dayat Kurniawan

Categories: JAVA, Tutorial
Follow

Get every new post delivered to your Inbox.