Top Banner

of 28

Presenj2me

Aug 08, 2018

Download

Documents

Windu Gata
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/22/2019 Presenj2me

    1/28

    PENGENALAN

    J2ME

    (Java Application for Mobile Device)

    Windu Gata, SKom. Universitas Budi Luhur

    "God gives u tools.. it is depends to you how deep you want to dig...

    that is why I always wanted to dig deeper and deeper...

    bcos I was so blessed with all the tools He had given me..."

    (by. Siskaovianty)

  • 8/22/2019 Presenj2me

    2/28

    Handphone & Fungsinya

    Alat Komunikasi (Mobile Phone) Menjadi Life Style Pada

    Kehidupan Modern

    SMS (Short Messaging Service /Pesan Pendek)

    MMS (Multi Media Messaging)

    Internet (HTTP & WAP)

    Tukar Menukar File InfraRed

    BlueTooth

    Audio Video

    Dan Lain - Lain

  • 8/22/2019 Presenj2me

    3/28

    Apa Itu J2ME

    Java 2 Micro Edition (J2ME)

    adalah program yang

    disediakan oleh SUN

    Microsystem untuk

    menjawab kebutuhan olehpengembang program,

    khususnya pengembang

    program untuk alat-alat

    terbatas seperti Handphone,

    PDA dan lain-lain.

    http://www.sun.com

  • 8/22/2019 Presenj2me

    4/28

    Media Mobile

    Contoh : Internet TV, Nokia

    Communicator dan Car Television

    Contoh : Handphone (Nokia,

    Samsung, Palm, dan lain-lain),PDA, Pocket PC dan two way

    pager.

    Prosesor : 32 BitProsesor : 16 Bit atau 32 Bit

    Digunakan pada perangkat handhelddengan ukuran memori minimal 2

    Mbytes

    Digunakan pada perangkat handhelddengan ukuran memori terbatas

    (160-512 Kbytes)

    JVM yang dikenal dengan nama CVMJVM yang digunakan dikenal dengan

    nama KVM

    Mengimplementasikan seluruh fitur

    pada J2SE

    Mengimplitasikan subset dari J2SE

    CDCCLDC

  • 8/22/2019 Presenj2me

    5/28

    Kenapa J2ME ?

    Moto JAVA

    PROGRAMMING, Write

    Once Use Everywhere

    Dengan Menggunakan

    Program J2ME Dapat

    Digunakan Disemua

    Handphone.

  • 8/22/2019 Presenj2me

    6/28

    Bagaimana Cara Membuat Program Pada

    J2ME

  • 8/22/2019 Presenj2me

    7/28

    Bagaimana Cara Membuat Program Pada

    J2ME

  • 8/22/2019 Presenj2me

    8/28

    Bagaimana Cara Membuat Program Pada

    J2ME

  • 8/22/2019 Presenj2me

    9/28

    Bagaimana Cara Membuat Program Pada

    J2ME

    Unduh Sun J2SDK pada

    Website

    http://java.sun.com/j2se/do

    wnloads/dan lakukan

    Instalasi

    Unduh Sun Java Wireless

    Toolkit Pada Web Site

    http://java.sun.com/products

    /j2mewtoolkit/

  • 8/22/2019 Presenj2me

    10/28

    Versi Sun Java Wireless Toolkit

    J2ME Wireless Toolkit 1.0.4 J2ME Wireless Toolkit 2.0_01

    J2ME Wireless Toolkit 2.1 J2ME Wireless Toolkit 2.2Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)

    Mobile Information Device Profile (MIDP) 2.0 (JSR 118)

    Java Technology for the Wireless Industry (JTWI) 1.0 (JSR 185)

    Wireless Messaging API (WMA) 2.0 (JSR 205)Mobile Media API (MMAPI) 1.1 (JSR 135)

    PDA Optional Packages for the J2ME Platform (JSR 75)

    Java APIs for Bluetooth (JSR 82)

    J2ME Web Services Specification (JSR 172)

    Mobile 3D Graphics API for J2ME (JSR 184)

    Connected Limited Device Configuration (CLDC), version 1.1 (JSR-039)

    Mobile Information Device Profile 2.0, (JSR-118)

    J2ME Web Services version 1.0, (JSR-172)Wireless Messaging APIs version 1.1, (JSR-120)

    Mobile Media APIs version 1.1, (JSR-135)

    Support forMIDP 2.0

    Support forWMA

    Support forMMAPI

    Solaris and Linux versions

    Additional development features:

    Integrated Over The Air emulation

    Midlet Signing

    WMA Emulation features for SMS and CBS messages

    New skins for QWERTY and Media devices

    Certificate management

    Push Registry emulationMonitoring for all protocols (HTTP(S), Socket, datagram, Comm,

    SSL, SMS/CBS)

    Compile and Runtime selection of API extensions (WMA, MMAPI)

    New demo applications

    Support for the ProGuard obfuscator

    Canvas (Graphics 2 D)

    Form (textbox, choice, radiobutton, button, gauge, List, dll)

    Http

  • 8/22/2019 Presenj2me

    11/28

    Membuat Program HelloWorld

    Bukalah Aplikasi Wireless Toolkit

    Buatlah Project Baru

    Direktori

    HelloMIDlet.java

  • 8/22/2019 Presenj2me

    12/28

    Membuat Program HelloWorld

    Buat Program HelloMidlet.java Disimpan Pada Direktori c:\WTK\apps\HelloWorld

    import javax.microedition.lcdui.*;

    import javax.microedition.midlet.*;

    public class HelloMIDlet extends MIDlet implements CommandListener {

    private Form mMainForm;

    public HelloMIDlet(){

    mMainForm = new Form("Hello World");

    mMainForm.append(new StringItem(null, "Hello Teman Teman Budiluhur"));

    mMainForm.addCommand(new Command("Exit", Command.EXIT,0));

    mMainForm.setCommandListener(this);

    }

    public void startApp() {

    Display.getDisplay(this).setCurrent(mMainForm);

    }

    public void pauseApp() {}

    public void destroyApp(boolean unconditional){}

    public void commandAction(Command c, Displayable s) {

    notifyDestroyed();}

    }

  • 8/22/2019 Presenj2me

    13/28

    Hasil Pembuatan Program HelloWorld

    BUILD RUN

  • 8/22/2019 Presenj2me

    14/28

    Membentuk Paket HelloWorld.jar &

    HelloWorld.jad

    RS232

    BLUETOOTHIRDA

  • 8/22/2019 Presenj2me

    15/28

    J2ME & Grafik 2 Dimport javax.microedition.lcdui.*;

    import javax.microedition.midlet.*;

    class canvasBendera extends Canvas {

    public void paint(Graphics g) {g.setColor(0,0,0);

    g.drawRect(0,0,getWidth()-1, getHeight()/2);

    g.setColor(255,0,0);

    g.fillRect(1,1, getWidth()-1, getHeight()/4);

    g.setColor(255,255,255);

    g.fillRect(1, getHeight()/4, getWidth()-1,getHeight()/4);

    g.setColor(0,0,255);

    g.drawString("Indonesia Merdeka", getWidth()/2 ,

    getHeight()/2 + 10, g.TOP | g.HCENTER);

    g.setColor(0,255,0);

    g.drawString("17 Agustus 1945", getWidth()/2 ,

    getHeight()/2 + 20, g.TOP | g.HCENTER);}

    }

    public class bendera extends MIDlet {

    private Display display;

    public bendera() {}

    public void startApp() {

    display = Display.getDisplay(this);

    Canvas canvas = new canvasBendera();

    display.setCurrent(canvas);

    }

    public void pauseApp () {}

    public void destroyApp (boolean unconditional) {}

    }

  • 8/22/2019 Presenj2me

    16/28

    J2ME & INTERNET (HTTP)

    INTERNET

    GPRS

    WEB APLICATION SERVER

  • 8/22/2019 Presenj2me

    17/28

    J2ME & INTERNET (HTTP)import java.io.*;

    import javax.microedition.io.*;

    import javax.microedition.lcdui.*;

    import javax.microedition.midlet.*;

    public class beritaantara extends MIDlet {

    private Display display;

    String url =

    "http://wap.antara.net.id:2002/testing/tampilakhir.php";

    public beritaantara() {

    display = Display.getDisplay(this);

    }

    public void startApp() {

    try {

    getViaStreamConnection(url);} catch (IOException e) {

    //Handle Exceptions any other way you like.

    System.out.println("IOException " + e);

    e.printStackTrace();

    }

    }

    public void pauseApp() {}

    public void destroyApp(boolean unconditional) {}

    /**

    * read url via stream connection

    */

    void getViaStreamConnection(String url) throws IOException {StreamConnection c = null;

    InputStream s = null;

    StringBuffer b = new StringBuffer();

    Form t = new Form("Berita Antara Terakhir");

    try {

    c = ( StreamConnection)Connector.open(url);

    s = c.openInputStream();

    int ch;

    while((ch = s.read()) != -1) {

    b.append((char) ch);

    }

    System.out.println(b.toString());t.append(b.toString());

    } finally {

    if(s != null) {

    s.close();

    }

    if(c != null) {

    c.close();

    }

    }

    display.setCurrent(t);

    }}

  • 8/22/2019 Presenj2me

    18/28

    J2ME & INTERNET (HTTP)

  • 8/22/2019 Presenj2me

    19/28

    J2ME & TELNET,SSH VIA INTERNET

    http://www.xk72.com/midssh

    http://www.mutelnet.com

    http://j2me.ngphone.com/opensource/ssh.htm

    INTERNET

    GPRS

    SERVER

  • 8/22/2019 Presenj2me

    20/28

    J2ME, Form dan Record Manajemen

    System

    javax.microedition.rms.*

    non-volatile(data tidak akan hilang ketika Handphone dimatikan)

    Record

    ManagemenSystem

    Array of Bytes3

    Array of Bytes2

    Array of Bytes1

    DataRecordID

  • 8/22/2019 Presenj2me

    21/28

    APLIKASI MAHASISWA - J2ME, Form

    dan Record Manajemen System

    Dibuat Oleh Gerry Geraldi Untuk Mata Kuliah Bahasa Pemrograman 4

    1

    KampuzJurusanSertifikatNamaNim

    Data

    RecordID

    RecStore

    dbMhs

    CtrlMahasiswa

    EntryMhs EditMhs DeleteMhs SearchMhs

    NimNama

    Sertifikat

    Jurusan

    Kampuz

    CtrlMahasiswa.java

    bukaRS()tutupRS()

    writeRecord() dll

    EntryMahasiswa.javaEditMahasiswa.java

    DeleteMahasiswa.java

    SearchMahasiswa.java

    GambarCover.java // untuk menampilkan Gambar pada Cover MIDletAbout.java // menampilkan About dari Programmer dari class Canvas.

  • 8/22/2019 Presenj2me

    22/28

    APLIKASI MAHASISWA - J2ME, Form

    dan Record Manajemen System

  • 8/22/2019 Presenj2me

    23/28

    J2ME & SMS ( Short Messaging Service)

    Pengirim Penerima

    SMS Center(Store and Forward)

  • 8/22/2019 Presenj2me

    24/28

    Tentang SMS

    Dikembangkan dan

    distandarisasi oleh European

    Telecommunication Standard

    Institute(ETSI)

    Umumnya pesan SMS berupa

    mode PDU (Protocol DataUnit) yaitu format pesan dalam

    bentuk bilanganbilangan

    heksadesimal.

  • 8/22/2019 Presenj2me

    25/28

    JAVA GUI & SMS

  • 8/22/2019 Presenj2me

    26/28

    J2ME & SMS

  • 8/22/2019 Presenj2me

    27/28

    J2ME & SMS (WMA Wireless Messaging API)

  • 8/22/2019 Presenj2me

    28/28

    J2ME & PALM OS

    www.palm.com