Anda di halaman 1dari 31

MIDP UI, High Level vs Low Level,

class Display dan Displayable


Form, Alert, List, Multiple Choice

Kuliah Mobile Programming. Pgl.Jun- 08

MIDP User Interface


Didisain untuk peralatan mobile
Aplikasi ditunjukkan pada limited screen
Didisain untuk lebih fleksible pada banyak peralatan
MIDP menyediakan berbagai class untuk menangani high

level dan low level User Interface

Inti dari MIDP UI adalah display

Kuliah Mobile Programming. Pgl.Jun- 08

High Level dan Low Level


High Level

Low Level

Portable pada semua alat


Look and feel sama dengan
pada alat
Interaktif, spt scrolling, tersedia
Tdk dpt actual appearance
Tdk dpt akses fitur peralatan
tertentu

Kuliah Mobile Programming. Pgl.Jun- 08

Pada alat tertentu


Pada alat tertentu terlihat spesifik
Semua punya navigasi sendiri
Pada tingkat pixel, dapat actual
appearance
Akses sampai low level input,
misalnya keyboard

Kapan menggunakan
Low Level UI

High Level UI
Aplikasi sederhana seperti textbased

Portibilitas tinggi pada semua alat

Kontrol sendiri tampilan


Penempatan yg tepat di screen
Membuat sebuat graphical game

Kesamaan tampilan pada semua


UI pada alat yg berbeda

Apliasi membutuhkan akses ke


low level, spt tekan tombol

Sedikit pengkodean, kebanyakan


di tangani oleh API

Implementasi aplikasi navigasi


sendiri

Kuliah Mobile Programming. Pgl.Jun- 08

Display dan Displayable


Display

Class Display extends

dari objet
Merupakan satusatunya objek untuk
menampilkan sesuatu
pada MIDP
Reference ke objek
Display lewat metode
static
Display.getDisplay
MIDlet menjamin
objek tak akan
berubah selama objek
MIDlet tetap ada

Displayable

Hanya satu

Displayable
ditampilkan setiap
saat
Secara default,
Displayable tidak
ditampilkan di layar
Displayable dapat
dipanggil dengan
setMethod()
Method setCurrent()
akan dipanggil pada
awal aplikasi, jika
tidak, blank screen
akan tampil

Kuliah Mobile Programming. Pgl.Jun- 08

Displayable

Kuliah Mobile Programming. Pgl.Jun- 08

Title

Posisi dan tampilan title sangat bergantung pada


spesifikasi device dan hanya dapat ditentukan oleh
device

Sebuah title ditambahkan pada sebuah Displayable


dengan memanggil method setTitle(), yang secara
otomatis akan meng-update title pada Displayable.

Jika Displayable sudah tampil pada layar, spesifikasi


MIDP akan menentukan bahwa title haruslah diganti
oleh implementasi (secepat mungkin dikenali, dan
secepat mungkin dilaksanakan)
Kuliah Mobile Programming. Pgl.Jun- 08

Command
Didalam menu bar, MIDlet memiliki command
Command biasanya diimplementasikan dalam MIDP
sebagai soft key atau item didalam menu

Sebuah object command berisi informasi mengenai actionaction yang akan dilakukan pada saat command tsb
diaktifkan.
Command tidak berisi code yang akan dieksekusi pada saat
command tsb diaktifkan
Diperlukanlah sebuah commandListener sebagai properti
dari Displayable yang berisi action-action yang akan
dieksekusi pada saat Command diaktifkan
Kuliah Mobile Programming. Pgl.Jun- 08

CommandListener
public void commandAction(Command command,
Displayable displayable)

Method commandAction()
akan dipanggil pada saat sebuah Command dipilih

Variabel pada command


reference pada Command yang sudah dipilih

displayable
object dari Displayable, dimana Command ditempatkan didalam display
tersebut dan action-action juga terjadi dalam display yang sama
Kuliah Mobile Programming. Pgl.Jun- 08

Mapping Dari Command


1

Bergantung pada nomer yg


ditetapkan

Jika Nomer dari Command tidak benar pada semua


button, maka peralatan menaruh semua Command pada
menu

Peta pada menu dan button akan diberi


label menu

Kuliah Mobile Programming. Pgl.Jun- 08

10

Contoh Menu
Command exitCommand = new
Command(Exit,Command.EXIT,1);
Command newCommand = new Command(New
Item,Command.OK,1);
Command renameCommand = new Command(Rename
Item,Command.OK,1);
Command deleteCommand = new Command(Delete
Item,Command.EXIT,1);

Kuliah Mobile Programming. Pgl.Jun- 08

11

Lanjutan menu
list.addCommand(exitCommand);
list.addCommand(newCommand);
list.addCommand(renameCommand);
list.addCommand(deleteCommand);

Kuliah Mobile Programming. Pgl.Jun- 08

12

Contoh multiple command

Kuliah Mobile Programming. Pgl.Jun- 08

13

Beberapa tipe Command


Command.EXIT
Command.BACK
Command.OK

Command.CANCEL
Command.HELP
Command.STOP

Command.SCREEN
Command.ITEM
Kuliah Mobile Programming. Pgl.Jun- 08

14

Ticker
Merupakan baris pada text yang dapat discrolling

secara terus menerus


Method konstruktor menerima text string untuk
ditampilkan
Tidak dapat dipause maupun ditutup
Kecepatannya dan arah scrolling tidak dapat diatur
Punya dua method: getString() dan setString(String
text)
Dipasang dgn setTickker()
Kuliah Mobile Programming. Pgl.Jun- 08

15

4 sub class dari Screen

Kuliah Mobile Programming. Pgl.Jun- 08

16

Properti dari Item

Kuliah Mobile Programming. Pgl.Jun- 08

17

Kuliah Mobile Programming. Pgl.Jun- 08

18

Alert

Alert adalah screen yang dapat merepresentasikan sebuah text dan image
Alert adalah sebuah komponen yang digunakan untuk menampilkan error,
peringatan, menampilkan text dan image sebagai informasi atau memberikan
konfirmasi kepada user
The Alert ditampilkan selama periode tertentu.
Seting waktu dgn setTimeout() dlm satuan milliseconds
Dapat ditampilkan terus sampai user mengaktifkan command ("Done") dgn
Alert.FOREVER

Kuliah Mobile Programming. Pgl.Jun- 08

19

Tipe Alert

INFO Alert

MODAL Alert
Alert with gauge
indicator

Kuliah Mobile Programming. Pgl.Jun- 08

20

List
subclass dari
Screen yang
berisi
mengenai
daftar yang
dapat dipilih
oleh user

Ada tiga
tipe :
IMPLICIT
EXCLUSIVE
MULTIPLE.

Untuk
IMPLICIT
dan user
mengekseku
si
button
select,
commandAc
tion()

Default
Command
adalah

List.SELECT_
COMMAND

milik
commandLi
stener dari
List akan
dipanggil

Kuliah Mobile Programming. Pgl.Jun- 08

21

Tampilan List

Kuliah Mobile Programming. Pgl.Jun- 08

22

Text Box
Sebuah TextBox adalah sub-class dari Screen yang bisa

digunakan untuk mendapatkan masukan text dari user


TextBox memperbolehkan user untuk menginputkan

dan juga mengedit sebuah text.


TextBox sama dengan TextField (lihat item TextField)

karena ia memiliki input constraint dan input modes.


Perbedaan utamanya adalah user dapat menginputkan

baris yang baru (apabila input constraint diset ke ANY)


Kuliah Mobile Programming. Pgl.Jun- 08

23

Form
Form adalah subclass dari Screen
Form merupakan container dari subclass items seperti

TextField, StringItem, ImageItem, DateField dan


ChoiceGroup.
Ia menghandle layout dari komponen-komponen GUI.
Ia juga bertanggung jawab terhadap traversal antar

komponen dan kemampuan scrolling pada Screen


Kuliah Mobile Programming. Pgl.Jun- 08

24

Choice Group
Item ChoiceGroup adalah daftar dari pilihan-pilihan
Pilihan bisa berisi text, image, maupun keduanya

Pilihan-pilihan tersebut bisa EXCLUSIVE (hanya satu pilihan yang dapat


diambil) atau MULTIPLE (beberapa pilihan dapat dipilih pada waktu
yang sama )
Jika ChoiceGroup bertipe POPUP, hanya satu pilihan yang akan
ditampilkan. Pop up yang sudah dipilih akan ditampilkan pada saat item
tersebut dipilih.
Pilihan yang ditampilkan haruslah pilihan yang telah ditentukan oleh
user.

Kuliah Mobile Programming. Pgl.Jun- 08

25

Kuliah Mobile Programming. Pgl.Jun- 08

26

Date Field

Komponen DateField digunakan untuk menerima inputan dari


user berupa date dan time

DateField bisa berisi inputan date (mode DATE), inputan time


(mode TIME), atau keduanya (mode DATE_TIME )

Method getDate() memiliki return, current value yang dimiliki


oleh item tersebut. Method ini akan memiliki kembalian null
apabila item tidak diinisialisasi

Jika mode dari DateField adalah DATE, maka komponen time


diset ke nol, sedangkan apabila digunakan mode TIME,
komponen dari date akan diset ke 1 January 1970
Kuliah Mobile Programming. Pgl.Jun- 08

27

Tampilan Date Field

Kuliah Mobile Programming. Pgl.Jun- 08

28

String Item
StringItem adalah sebuah komponen yang hanya

bisa dibaca sehingga ia biasa diposisikan sebagai


label atau text.

Secara optional StringItem menerima beberapa

mode tampilan yaitu Item.PLAIN,


Item.HYPERLINK atau Item.BUTTON.

Jika mode tampilan itu berupa HYPERLINK atau

BUTTON maka default Command dan


ItemCommandListener harus diset pada item
tersebut.
Kuliah Mobile Programming. Pgl.Jun- 08

29

Image Item
Merupakan image sederhana dimana
sebuah image dapat diletakkan pada
sebuah komponen yang lain seperti Form

public ImageItem(String label, Image img,


int layout, String altText)

Kuliah Mobile Programming. Pgl.Jun- 08

30

Text Field
TextField adalah sebuah item dimana user dapat

memasukkan encode input

Constraint dalam TextField:

TextField.ANY
TextField.EMAILADDR
TextField.NUMERIC
TextField.PHONENUMBER
TextField.URL
TextField.DECIMAL
Kuliah Mobile Programming. Pgl.Jun- 08

31