Pemrograman Aplikasi Bergerak With Fandi Susanto S.Si. By Fandi Susanto S.Si
Study Plan Sebelum UTS Pengenalan Aplikasi Pemrograman J2ME Review function ( if, for, while ) Review OOP Objek-objek di Java: Screen (Form, Alert, Textbox, List) + Ticker Image, TextField, ChoiceGroup, Command CommandListener Menghubungkan antar class TEORI: OOP, MIDLet, J2ME, CDC, CLDC, JVM, KVM, JDK, SDK Kita Berada Di sini By Fandi Susanto S.Si
Display Display merupakan objek yang merepresentasikan pengelola layar pada perangkat. Pada sebuah MIDlet hanya terdapat satu objek Display. Didefinisikan di dalam javax.microedition.lcdui.Display By Fandi Susanto S.Si
Display Berikut beberapa metode yang dimiliki objek Display: getDisplay(Midlet) <static> untuk mengambil objek Display pada suatu Midlet. Displayable getCurrent() untuk mengakses objek Displayable yang sedang tampil. void setCurrent(Displayable) untuk menampilkan Displayable boolean isColor(), bernilai true jika perangkat mendukung warna. void vibrate(int milidetik), untuk menggetarkan HP void flashBackLight(int milidetik), untuk menyalakan lampu HP By Fandi Susanto S.Si
Displayable Displayable adalah kelas antarmuka. Displayable memiliki dua subkelas, yaitu Canvas sebagai antarmuka level rendah dan Screen sebagai antarmuka level tinggi. Screen sendiri memiliki subkelas Alert, Form, List dan TextBox. Suatu displayable ditampilkan dengan method setCurrent(Displayable) pada suatu objek Display. Didefinisikan di dalam javax.microedition.lcdui.Displayable By Fandi Susanto S.Si
Displayable Screen Canvas Alert Form TextBox List Displayable dan Screen merupakan abstract class. Sehingga kita tidak dapat membuat objeknya. Yang dapat kita gunakan adalah kelas-kelas turunannya (Canvas, Alert, Form, TextBox dan List) By Fandi Susanto S.Si
Displayable Objek-objek turunan dari class Displayable memiliki metode-metode berikut: void addCommand(Command), menambahkan Command void removeCommand(Command), Menghapus Command void setCommandListener(CommandListener), menentukan objek (dengan "implements CommandListener") yang akan mengolah Command pada Displayable tersebut. Reminders: Dokumentasi class-class (properties, method dan contoh program) dapat dilihat di documentation program. By Fandi Susanto S.Si
Screen Form Form adalah suatu tampilan yang dapat diisi dengan berbagai macam item. Item pada Form antara lain: Item ChoiceGroup DateField Gauge ImageItem StringItem Spacer TextField By Fandi Susanto S.Si
Item-item pada Form StringItem ImageItem TextField ChoiceGroup Tulisan pada Form ImageItem Gambar pada Form TextField Input teks pada Form ChoiceGroup RadioButton atau CheckBox DateField Input tanggal pada Form Gauge ProgressBar (Now Loading) Spacer Space kosong By Fandi Susanto S.Si
Menambahkan StringItem Menambahkan StringItem pada Form, dapat dilakukan dengan perintah frm1.append(String); Perintah tersebut otomatis menambahkan sebuah StringItem dengan teks berisi String. Perintah di atas sama dengan perintah: append(new StringItem(null, String)); By Fandi Susanto S.Si
Menggunakan StringItem Buat project formItems. Tambahkan Midlet MidForm Tambahkan Display dan Form Dan lakukan quickfix(import) Tambahkan Constructor By Fandi Susanto S.Si
Menggunakan StringItem Setelah import, biasanya: Dapat juga dibuat: By Fandi Susanto S.Si
Menggunakan StringItem Jangan lupa tambahkan: Tambahkan sebuah StringItem: (Jangan lupa import) By Fandi Susanto S.Si
Mengubah layout (Alignment) Tersedia: (bisa dipilih lewat intellisense, Diawali dengan StringItem.) LAYOUT_DEFAULT LAYOUT_LEFT LAYOUT_RIGHT LAYOUT_CENTER LAYOUT_TOP LAYOUT_BOTTOM LAYOUT_VCENTER LAYOUT_NEWLINE_BEFORE LAYOUT_NEWLINE_AFTER LAYOUT_SHRINK LAYOUT_VSHRINK LAYOUT_EXPAND LAYOUT_VEXPAND LAYOUT_2 By Fandi Susanto S.Si
Mengubah Font Untuk mengubah font, kita dapat menggunakan method setFont milik StringItem. Untuk membuat Font, kita gunakan perintah Font.getFont(FontFace, FontStyle, FontSize); By Fandi Susanto S.Si
Menggunakan StringItem Layout ataupun Font dari suatu StringItem dapat diubah kapan saja. Oleh karena itu, perintah: <StringItem>.setLayout(Layout) <StringItem>.setFont(Font) Dapat dibuat di mana saja Keterangan: selama StringItem masih ada. Karena objek header kita buat di dalam fungsi constructor, maka setelah keluar dari constructor, StringItem tersebut tidak dapat diakses melalui identifier header lagi. Kecuali jika StringItem header diletakkan di luar fungsi. Untuk mengakses StringItem tersebut pada fungsi lain, harus digunakan frm1.get(<indeks item>); By Fandi Susanto S.Si
Menggunakan StringItem Metode-metode pada StringItem: getAppearanceMode(); getFont(); getText(); setText(String teks); setPreferredSize(int lebar, int tinggi); Metode turunan (dari objek Item): addCommand(Command); setLayout(int Layout); removeCommand(Command); setLabel(String teks); dkk By Fandi Susanto S.Si
Menggunakan StringItem Menambahkan StringItem ke Form sebetulnya dapat dilakukan juga dengan perintah: frm1.append(new StringItem(null, str)); frm1.append(str); Akan tetapi penambahan item dengan cara di atas membuat kita tidak dapat mengakses StringItem yang kita buat dengan suatu nama. Kita dapat mengakses item terakhir yang kita buat dengan menggunakan perintah: frm1.get(frm1.size()-1); By Fandi Susanto S.Si
Menggunakan ImageItem Buat gambar apa saja berukuran kecil: <=100x100px Tipe data png. Klik kanan di resources Add Folder. By Fandi Susanto S.Si
Buat folder baru (beri nama res) Folder res masuk ke resources Pindahkan gambar ke folder res (windows explorer) By Fandi Susanto S.Si
Menggunakan ImageItem ImageItem adalah suatu item yang berisi Image. Buat sebuah Image (bukan ImageItem): Image gambar; Import class yang diperlukan. By Fandi Susanto S.Si
Menggunakan ImageItem Tambahkan kode program "/<nama gambar>" Pilih yang ke-2 By Fandi Susanto S.Si
Menggunakan ImageItem Tambahkan Image ke dalam Form Perintah frm1.append(gambar); sama dengan perintah: frm1.append(new ImageItem(null, gambar, ImageItem.LAYOUT_DEFAULT, null)); ImageItem itemGambar = new ImageItem(null, gambar, ImageItem.LAYOUT_DEFAULT, null); frm1.append(itemGambar); By Fandi Susanto S.Si
Menggunakan ImageItem Karena pada StringItem sebelumnya kita menggunakan LAYOUT_CENTER, maka ImageItem sesudahnya yang menggunakan LAYOUT_DEFAULT otomatis menggunakan LAYOUT_CENTER juga. Untuk mengubahnya, dapat ditambahkan kode: By Fandi Susanto S.Si
Menggunakan TextField Untuk menambahkan TextField, tambahkan kode program (pada property class): Constructor TextField: TextField(strLabel, strTeks, intMaxSize, intConstraints); Untuk meletakkan TextField di Form, gunakan (misalkan pada constructor) : By Fandi Susanto S.Si
Constraints pada TextField Suatu TextField dapat dibatasi inputnya menggunakan constraints. Konstanta constraints dapat diambil langsung dari class TextField: TextField.ANY TextField.EMAILADDR TextField.NUMERIC TextField.PHONENUMBER TextField.URL TextField.DECIMAL By Fandi Susanto S.Si
Modifier pada TextField Selain constraints, TextField juga dapat diberi modifier yang menentukan sifat-sifat TextField: TextField.PASSWORD TextField.UNEDITABLE TextField.SENSITIVE TextField.NON_PREDICTIVE TextField.INITIAL_CAPS_WORD TextField.INITIAL_CAPS_SENTENCE By Fandi Susanto S.Si
Constraints dan modifier pada TextField Constraints dan modifier pada TextField dapat digabung dengan menggunakan operator bitwise-or ( | ). Sehingga misalkan kita ingin membuat TextField yang hanya berisi angka dan tidak dapat dilihat (password), maka kita dapat menggunakan constraints: TextField.NUMERIC | TextField.PASSWORD By Fandi Susanto S.Si
Menggunakan TextField Pada TextField, terdapat metode-metode: getCaretPosition(); delete(); getMaxSize(); getString(); setMaxSize(int); setString(String); size(); By Fandi Susanto S.Si
Menggunakan ChoiceGroup Untuk membuat ChoiceGroup, kita dapat menggunakan constructornya: ChoiceGroup(strLabel, int ChoiceType); ChoiceType yang tersedia antara lain: Choice.EXCLUSIVE = RadioButton Choice.MULTIPLE = CheckBox Choice.POPUP = ComboBox By Fandi Susanto S.Si
Menggunakan ChoiceGroup Sebelum menambahkan ChoiceGroup ke dalam Form, ada baiknya kita tambahkan terlebih dahulu pilihan-pilihan yang ada di dalam choice group tersebut: By Fandi Susanto S.Si
Menggunakan ChoiceGroup Metode-metode pada ChoiceGroup: append(String, Image); delete(int index); deleteAll(); set(int index, String, Image); setFont(int index, Font); setSelectedIndex(int index, boolean); size(); getFont(int index); getString(int index); isSelected(int index); getImage(int index); By Fandi Susanto S.Si
Menggunakan DateField Untuk menggunakan DateField, constructornya: DateField(String label, int mode); Dengan mode yang tersedia antara lain: DateField.DATE DateField.DATE_TIME DateField.TIME By Fandi Susanto S.Si
Menggunakan DateField Untuk mengeset tanggal pada DateField langsung pada tanggal sekarang, dapat menggunakan perintah seperti berikut: Keterangan: setDate menerima argumen berupa Date. Constr Date menerima argumen berupa long (jumlah milisekon sejak 1 Januari 1970). Jika tidak diberi parameter, maka Date otomatis menggunakan tanggal sekarang. By Fandi Susanto S.Si
Menggunakan DateField DateField memiliki metode-metode berikut: setDate(); getDate(); setInputMode(); getInputMode(); By Fandi Susanto S.Si
Thank You For Your Attention Special Thanks: Yoannita S.Kom (dan para pendahulunya) atas ilmunya. Reminders: Dokumentasi class-class (properties, method dan contoh program) yang dipakai di Java ME dapat diakses lewat menu documentation pada start menu di folder WTK atau Java ME SDK. (StartJava(TM) ME Platform SDK 3.0Documentation) (StartSun Java (TM) Wireless Toolkit 2.5.2 for CLDC Documentation) By Fandi Susanto S.Si