Anda di halaman 1dari 52

J2ME GUI dan Interkoneksi Client Server

Muhammad Zen S. Hadi, ST. MSc.

Contents
J2ME (Review) GUI dalam J2ME (RadioButton dan CheckBox) Passing parameter dgn radiobutton dan checkbox Interkoneksi client server (PHP MySQL)

Arsitektur Jaringan dgn J2ME

Information Access and Communication


Buying Movie Ticket

Klas Utama dalam paket lcdui


To be discussed in this lecture

Komponen ChoiceGroup
Memberikan user pilihan dari list yang tersedia. Terdapat 3 format ChoiceGroup : EXCLUSIVE : satu pilihan MULTIPLE : banyak pilihan POPUP : satu pilihan dengan tampilan popup

Komponen ChoiceGroup
Format: ChoiceGroup(String label, int choiceType) Membuat obyek ChoiceGroup dan menentukan title dan tipenya. ChoiceGroup(String label, int choiceType, String[] stringElements, Image[] imageElements) Membuat obyek ChoiceGroup, menentukan title dan tipe serta array dari string dan gambar untuk nilai awal. Untuk passing parameter dari pilihan user gunakan getSelectedIndex(), getString(int elementNum) and isSelected(int elementNum). 7

Contoh TextFieldChoiceGroupTest
Form Registrasi untuk memasukkan data pribadi dan menampilkannya di dalam console.

Untuk Satu Pilihan (EXCLUSIVE)

Untuk Satu Pilihan (POPUP)

10

Passing Parameter dgn RadioButton

11

Passing Parameter dgn RadioButton

12

Banyak Pilihan (MULTIPLE)

13

Passing Parameter dgn CheckBox

14

Aplikasi untuk CheckBox

Untuk fungsi pauseApp(), destroyApp(), awal(), keluar() sama dengan program sebelumnya 15

16

Menampilkan banyak project

17

INTERKONEKSI CLIENT SERVER

18

Introduction
J2ME provides networking features to the mobile devices. It is possible to get up-to-the-minute stock quotes or updated currency exchange rates on a mobile phone. The javax.microedition.io classes and interfaces handle the networking capability of MIDP. The java.io package provides input/output (I/O) capability to MIDP.

19

J2ME Networking Categories


J2ME networking has 3 categories: Low-level IP networking HTTP networking Secure networking The most critical aspect of J2ME network connectivity is communication between a mobile device and Web server.

20

Low-level IP networking
This category involves socket, datagram, serial port, and file I/O communication. Socket-based communication conforms to the connection-oriented TCP/IP protocol. Datagram-based communication conforms to the connectionless UDP/IP protocol. e.g. URI for a datagram connection for sending to a server on a certain port: datagram://123.456.789.12:1234 Low-level IP networking can also handle file I/O and can allow a MIDlet to use a local serial port.

21

HTTP networking
The communication between a mobile device and a Web server is based on HTTP (Hypertext Transfer Protocol). HTTP is a connection-oriented request-response protocol.

22

The Connection Framework


J2ME networking was designed to address the diverse needs of a wide range of mobile devices. At the same time, the networking system must be device specific. To meet these challenges, it introduces the concept of a generic connection framework. Generic connection framework is to define the general aspects of the networking and file I/O in the form of Java interfaces for a broad range of handheld devices Leave the actual implementations of these interfaces to individual device manufacturers.

23

The Connection Framework

24

URL Handling in J2ME


URL handling in J2ME involves opening a connection to the Web server from the mobile device and handling data I/O between the two. The process happens in the following stages: Setup Connected Closed J2ME defines the javax.microedition.io.Connector class to create all the connection objects. In URL handling, Connector.open() is used to open a URL; it returns an HttpConnection object. 25

URL Handling in J2ME


The string parameter to the Connector.open() method is a valid URL. The URL string varies depending on the communication protocol, as Examples 1 through 5 below demonstrate. Example 1. Invoking HTTP-based communication Connection conn = Connector.open("http://www.yahoo.com"); Example 2. Invoking stream-based socket communication Connection conn = Connector.open("socket://localhost:9000");

26

URL Handling in J2ME


Example 3. Invoking datagram-based socket communication Connection conn = Connector.open("datagram://:9000"); Example 4. Invoking serial port communication Connection conn = Connector.open("comm:0;baudrate=9000"); Example 5. Invoking file I/O communication Connection conn = Connector.open("file://myfile.dat");

27

URL Handling in J2ME


The Connector.open() method also accepts the access mode (values READ, WRITE, and READ_WRITE), and a flag to indicate that the caller wants a timeout notification. static Connection open(String name, int mode) static Connection open(String name, int mode, boolean timeouts) The method openInputStream() of Connector opens an input stream of bytes (java.io.InputStream).

28

URL Handling in J2ME


Similarly, a java.io.OutputStream representing an output stream of bytes. The counterparts of InputStream and OutputStream are java.io.DataInputStream and java.io.DataOutputStream, respectively. A DataInputStream/DataOutputStream lets an application read/write primitive Java data types.

29

Akses file text dari Server

server

Simpan file text di http://127.0.0.1/modu13/pesan1.txt

30

Menghilangkan tampilan AirTime

31

Aplikasi akses file text dari Server

32

Aplikasi akses file text dari Server

33

Akses file php dari Server

server

Simpan file php di http://127.0.0.1/modu13/lat1.php

34

Aplikasi akses file php dari Server


Semua bagian sama seperti program sebelumnya

35

Passing Parameters to Server


Typically, an HTTP request to a server is accompanied by information needed by the server to process the request.

36

Passing Parameters to Server


e.g. Login in case. A server must authenticate a client using the clients user ID and password. The client sends the user ID and password along with the HTTP request. Two techniques are used to send data to the server: GET or POST request methods. The GET request method requires that data be concatenated to the URL of the server. The POST request method requires that each pair value be written to the output stream.

37

Passing Parameters to Server


Data sent to a server must be in a pair value set: field name the value associated with the field. The field name and value must be separated by an equal sign (=). The pair value sets are separated from the URL by a question mark (?). Each pair value set is separated from other pair value sets by an ampersand (&). The space character is converted to a plus (+) sign. For example, the following request sends two parameters: pOne="one bit" and pTwo="two" http://127.0.0.1/modul13/simple.php?p=one+bit&pTwo =two 38

Akses file php dgn parameter

server

Simpan file php di http://127.0.0.1/modu13/lat2.php

39

Aplikasi Akses File php dgn parameter

40

Akses file php dgn parameter (2)

server

Simpan file php di http://127.0.0.1/modu13/lat3.php

41

Aplikasi Akses File php dgn parameter (2)

42

Interaksi dengan Database (Review)


Dalam pembuatan aplikasi berbasis Database WAP, beberapa perintah di Database baik DML dan DDL bisa digunakan dikarenakan aksesnya masih berbasis PHP. Beberapa tahapan dalam interkoneksi dengan Database : Membuka koneksi ke server MySQL
$conn = mysql_connect (host,username,password);

Memilih database
mysql_select_db(namadatabase,$conn);

Memilih tabel dengan query


$hasil = mysql_query(SQL Statement);

Mengambil record dari tabel


$row = mysql_fetch_row($hasil);

43

Contoh aplikasi berbasis J2ME - Database


Buat database KAMPUS, dengan tabel Mahasiswa yang memiliki field sebagai berikut, dengan NRP sebagai Primary Key :

Akan dibuat aplikasi untuk memasukkan data baru, dan menampilkan data dengan J2ME.

44

Input Data ke Database

server

Simpan file php di http://127.0.0.1/modu13/prosesInsert.php

45

Aplikasi Input Data ke Database

46

Aplikasi Input Data ke Database

47

Tampil Data dari Database

server

Simpan file php di http://127.0.0.1/modu13/prosesTampil.php

48

Aplikasi Tampil Data dari Database

49

Aplikasi Tampil Data dari Database

50

TUGAS
Buat aplikasi untuk menghitung biaya total pemakaian PDAM : a. Buat databasenya Golongan Biaya (m3) 1 500 2 1000 3 1500 b. Input user : Nama user : Fakhri [TextField] Golongan : 1 [ChoiceGroup dgn 1 pilihan] Pemakaian : 20 [TextField] c. Output : Nama : Fakhri Total yang harus dibayar : Rp. 10000

51

TUGAS
Presentasi tiap kelompok untuk proyeknya : a. Blok Diagram Sistem b. Sistem Database

52

Anda mungkin juga menyukai