Langsung ke konten utama

Latihan J2ME Http Connection

Beberapa jenis aplikasi mobile memerlukan konektivitas HTTP dan HTTPS. Jika perangkat bergerak tidak memiliki  dukungan  TCP/IP  internal  maka  konektivitas  tersebut  disediakan  operator  melalui sebuah gateway.  Mekanisme  ini  dipakai  luas  pada  perangkat  mobile  yang  tersedia  dipasaran.menunjukkan aplikasi client‐server menggunakan HTTP.

import java.io.IOException;
import java.io.InputStream;
import java.io.InterruptedIOException;
import java.io.OutputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class formNilaiMidlet extends MIDlet implements CommandListener, Runnable{
    private Command cmdExit, cmdHitung;
    private Form form;
    private Alert alert;
    private TextField tfNama, tfNim, tfNilai1, tfNilai2, tfNilai3;
    private static Display display;
    private int errorcode = 0;
    private String hasil;
    public formNilaiMidlet(){
        display = Display.getDisplay(this);
    }
    public void startApp() {
        form = new Form("Hitung Nilai Mahasiswa");
        tfNim = new TextField("NIM: ", null, 32, TextField.NUMERIC);
        tfNama = new TextField("Nama: ", null, 32, TextField.ANY);
        tfNilai1 = new TextField("Nilai 1", null, 32, TextField.NUMERIC);
        tfNilai2 = new TextField("Nilai 2", null, 32, TextField.NUMERIC);
        tfNilai3 = new TextField("Nilai 3", null, 32, TextField.NUMERIC);
        cmdExit = new Command("Exit", Command.EXIT, 1);
        cmdHitung = new Command("Hitung", Command.SCREEN, 1);
        form.append(tfNim);
        form.append(tfNama);
        form.append(tfNilai1);
        form.append(tfNilai2);
        form.append(tfNilai3);
        form.setCommandListener(this);
        form.addCommand(cmdHitung);
        form.addCommand(cmdExit);
        display.setCurrent(form);
    }  
    public void pauseApp() {
        display.setCurrent(null);
    }  
    public void destroyApp(boolean force) {}
    public void commandAction(Command c, Displayable d){
        if(c == cmdExit){
            destroyApp(true);
            notifyDestroyed();
        }else if(c == cmdHitung){
            new Thread(this).start();
        }
    }
   
    public void run(){
        try{
            getData();
        }catch(Exception e){}
    }
   
    public void getData() throws Exception{
        String url = "";
        url = "http://localhost:8080/formNilai/index.jsp";
       
       
        HttpConnection hc = null;
        InputStream is = null;
        OutputStream os = null;
        StringBuffer messagebuffer = new StringBuffer();
        String temp = "";
        try{
            hc = (HttpConnection) Connector.open(url);
            hc.setRequestMethod(HttpConnection.POST);
            hc.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
            hc.setRequestProperty("Content-Language", "en-US");
            hc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            os = hc.openOutputStream();
            os.write(("nil1="+tfNilai1.getString()+"&nil2="+tfNilai2.getString()+"&nil3="+tfNilai3.getString()).getBytes());
            os.close();

            int rc = hc.getResponseCode();
            if(rc != HttpConnection.HTTP_OK)
                throw new IOException("HTTP response code : " + rc);
            is =  hc.openInputStream();
            int ch;
            long len = hc.getLength();

            if((len!=-1)){
                for(int i = 0;i<len;i++)
                    if((ch = is.read()) != -1){
                        messagebuffer.append((char)ch);
                        temp = temp + (char) ch;
                    }else{
                        while((ch = is.read()) != -1)
                            messagebuffer.append((char)ch);
                            temp = temp + (char) ch;
                    }
            }

            is.close();
       
            //Parsing prs = new Parsing();
            //prs.process(temp);
            //String message = "Kode :  " + prs.getCode() + "\nPesan :\n" + prs.getMsg();

            //textbox.setString("Nama : Dian\nPassword : 9999");
            //siHasil.setText(temp);
            hasil = "NIM: "+ tfNim.getString() +"\nNama: "+ tfNama.getString() +"\nNilai Akhir: "+ temp;
            alert = new Alert("Hasil");
            alert.setTimeout(Alert.FOREVER);
            alert.setString(hasil);
            display.setCurrent(alert);
       
        }catch (InterruptedIOException ei){
            errorcode = -1;
            throw ei;
        }catch (IOException ioe){
            errorcode = -2;
            throw ioe;
        }catch (Exception ie){
            errorcode = -3;
            throw ie;
        }finally{
            try{
                if(hc != null) hc.close();
            }catch (IOException ignored){}
            try{
                if(is != null) is.close();
            }catch (IOException ignored){}
            try{
                if(os != null) os.close();
            }catch (IOException ignored){}
        }
    }
}

Dan membuat satu file Http connection yang untuk menghubungkan antara keduanya.
untuk penghitungan nya di file jsp
contoh disini saya punya file: "http://localhost:8080/formNilai/index.jsp"

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
    String nilai1, nilai2, nilai3;
    int nil1, nil2, nil3;
    double total;
   
    nilai1 = request.getParameter("nil1");
    nilai2 = request.getParameter("nil2");
    nilai3 = request.getParameter("nil3");
   
    nil1 = Integer.parseInt(nilai1);
    nil2 = Integer.parseInt(nilai2);
    nil3 = Integer.parseInt(nilai3);
   
    total = (nil1+nil2+nil3)/3;
    out.println(total);
%>

Selamat mencoba.
By. http://edukasifirman.blogspot.com/

Komentar

Postingan populer dari blog ini

Bumi Bumi Mengelilingi Matahari 3D Cara meruning dengan menggunakan Keyboard: CTRL + y Yaitu untuk Revolusi Bumi mengelilingi Matahari y yaitu Kebalikannya CTRL + d yaitu untuk Rotasi poros Bumi d yaitu kebalikannya #include #include #include static int year = 0, day = 0; void init(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_FLAT); } void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); /*Warna Merah*/ glPushMatrix(); glutWireSphere(1.0, 20, 16); /* Draw Matahari */ glRotatef ((GLfloat) year, 0.0, 1.0, 0.0); glTranslatef (2.0, 0.0, 0.0); glRotatef ((GLfloat) day, 0.0, 1.0, 0.0); glutWireSphere(0.2, 10, 8); /* Draw planet Kecil */ glPopMatrix(); glutSwapBuffers(); } void reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity...

Game Diver Jimmy

Bantu Kenny menemukan harta karun, awas ada mahluk yang membahayakan. DOWNLOAD DISINI!!!

Hacking Registry dengan batch file

Pada dasarnya batch file adalah sebuah script apabila script tersebut dijalankan akan berhubungan langsung dengan shell windows. Perintah dasar seperti copy, rename dan masih banyak lagi. Kita akan bahas disini yaitu perintah REG. Perintah REG merupakan perintah untuk mengakses Registry secara langsung.  Perintah dasarnya: REG ADD REG DELETE REG COPY REG SAVE REG LOAD REG UNLOAD REG QUERY REG COMPARE REG EXPORT REG IMPORT 1. REG ADD digunakan untuk menambahkan key atau value pada registry windows. Struktur dari perintah REG ADD adalah sebagai berikut: REG ADD KeyName [/v NamaValue] [/t Type] [/d Data] [/f] Keterangan: REG ADD perintah dasar untuk menambah key atau value pada registry KeyName yang akan dijadikan sasaran (root key) HKEY_CLASSES_ROOT => HKCR HKEY_CURRENT_USER => HKCU HKEY_LOCAL_MACHINE => HKLM HKEY_USERS => HKU HKEY_CURRENT_CONFIG => HKCC NamaValue => digunakan untuk menambahkan nama value pada registry Type =...