Kamis, 11 November 2010

Pencarian data dengan Kxml2 di Java Me



disini kebetulan aku pake netbeans.setelah betrtanya-tanya dengan beberapa ahli di sekitar kampus, akhirnya jadi juga tu program buat nampilin hasil seleksi database di emulator hp..
pertama-tama:
bikin dulu xml yang buat hasil parsing di layar. sebenernya aku juga gak ngerti banget masalah php. cuman kaya yang ku bilang tadi, keterpaksaan adalah kekuatan. scriptnya kaya gini:

<
//koneksi database
$con = mysql_connect('localhost','root','');
mysql_select_db('pesawatdb', $con);


$bandara_asal=$_POST['bandara_asal'];
$bandara_tujuan=$_POST['bandara_tujuan'];

$query = mysql_query ("SELECT no_penerbangan, kd_pesawat, bandara_asal, bandara_tujuan, tgl_berangkat, jam_berangkat, jam_tiba, harga, sisa_quota
FROM jadwal
WHERE bandara_asal = '$bandara_asal'
AND bandara_tujuan = '$bandara_tujuan'");

$jml = mysql_num_rows($query);

if ($jml==0){
print "Data tidak ada.";
}else{

// parsing
header('Content-Type: text/xml');
echo "";
echo "";
$i=1;
while ($data = mysql_fetch_array($query)){

echo "";
echo "".$data[no_penerbangan]."" ;
echo "".$data[kd_pesawat]."" ;
echo "".$data[bandara_asal]."" ;
echo "".$data[bandara_tujuan]."" ;
echo "".$data[tgl_berangkat]."" ;
echo "".$data[jam_berangkat]."" ;
echo "".$data[jam_tiba]."" ;
echo "".$data[harga]."" ;
echo "".$data[sisa_quota]."" ;

echo "
";

$i++;
}
echo "
";
}
>



kira-kira begitu...hehehe

trus bikin juga di script java nya, berhubung pake netbeans, intinya aja kaya gini.

import dulu di atas:

import org.kxml2.io.*;
import org.xmlpull.v1.*;

bikin class threadnya:
class jadwal extends Thread{

public void run(){

int item1 = cgAsal.getSelectedIndex();
// data1=cgAsal.getString(item1);
int item2 = cgTujuan.getSelectedIndex();
// data2=cgTujuan.getString(item2);

data = "bandara_asal="+cgAsal.getString(item1)+"&bandara_tujuan="+cgTujuan.getString(item2)+"&tgl_berangkat="+tfDate.getString();


HttpConnection http = null;
DataInputStream is2= null;
StringBuffer sb = new StringBuffer();
OutputStream os = null;
try {
http = (HttpConnection) Connector.open("http://localhost/reservasi/client/jadwal.php");
http.setRequestMethod(HttpConnection.POST);
http.setRequestProperty("Content-Type", "text/xml");
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("Accept_Language","en-US");
http.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
os = http.openDataOutputStream();
os.write(data.getBytes());

if(http.getResponseCode() == 200){
is2=(http.openDataInputStream());
jadwal1(is2);
for (int i = 0; i < jml; i++) {

formHasilJadwal.append(siNoterbang[i]);
formHasilJadwal.append(siKdpesawat[i]);
formHasilJadwal.append(siBasal[i]);
formHasilJadwal.append(siBtujuan[i]);
formHasilJadwal.append(siTgl[i]);
formHasilJadwal.append(siJberangkat[i]);
formHasilJadwal.append(siJtiba[i]);
formHasilJadwal.append(siHarga[i]);
formHasilJadwal.append(siQuota[i]);


formHasilJadwal.append("-------------------------------------------------");

}
}
} catch (Exception x) {

}
}
}

public void jadwal1(InputStream isxml) {
parser = new KXmlParser();
try {
parser.setInput(new InputStreamReader(isxml));
parser.next();
parser.require(XmlPullParser.START_TAG, null, "informasi");
while (parser.nextTag() != XmlPullParser.END_TAG) {
parser.require(XmlPullParser.START_TAG, null, "jadwal");
while (parser.nextTag() != XmlPullParser.END_TAG) {
parser.require(XmlPullParser.START_TAG, null, "no_penerbangan");
siNoterbang[jml] = new StringItem("no_penerbangan : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "no_penerbangan");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "kd_pesawat");
siKdpesawat[jml] = new StringItem("kd_pesawat : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "kd_pesawat");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "bandara_asal");
siBasal[jml] = new StringItem("bandara_asal : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "bandara_asal");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "bandara_tujuan");
siBtujuan[jml] = new StringItem("bandara_tujuan : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "bandara_tujuan");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "tgl_berangkat");
siTgl[jml] = new StringItem("tgl_berangkat : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "tgl_berangkat");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "jam_berangkat");
siJberangkat[jml] = new StringItem("jam_berangkat : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "jam_berangkat");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "jam_tiba");
siJtiba[jml] = new StringItem("jam_tiba : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "jam_tiba");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "harga");
siHarga[jml] = new StringItem("harga : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "harga");

parser.nextTag();

parser.require(XmlPullParser.START_TAG, null, "sisa_quota");
siQuota[jml] = new StringItem("sisa_quota : ", parser.nextText());
parser.require(XmlPullParser.END_TAG, null, "sisa_quota");



}
parser.require(XmlPullParser.END_TAG, null, "jadwal");
jml++;
}

parser.require(XmlPullParser.END_TAG, null, "informasi");
isxml.close();
} catch (Exception e) {
e.printStackTrace();
}return ;
}




sori...gak lengkap, males soalnya mesti nyari variabel2nya klo pake netbeans.hehe...

trus menjalankan treadnya di:

public void commandAction(Command command, Displayable displayable) {
// write pre-action user code here
if (displayable == frmJadwal) {
if (command == backCommand) {
// write pre-action user code here
switchDisplayable(null, getList());
// write post-action user code here
} else if (command == okCommand1) {
// write pre-action user code here
jadwal jadwal = new jadwal();
jadwal.start();
// display.setCurrent(formHasilJadwal);



switchDisplayable(null, getFormHasilJadwal());
// write post-action user code here
}


jangan lupa libnya disertakan pada lib netbeans ato klo yang pake midlet, yaitu kxml2.jar dan xmlparsing.jar.
silahkan mencoba

0 komentar:

Posting Komentar