HOME | SITEMAP
HttpConnection Untuk Load String dan Image
Posted on 2008-09-05 16:04:19 by mamat, 0 Comments
HttpConnection Untuk Load String dan Image
Yak Biar gak bingung nyari-nyari lagi filenya, dan Biar mudah untuk mencarinya kembali. Berikut ini kita akan membahas bagaimana memanfaatkan HttpConnection pada J2ME.
Function ini sangat penting selain programing socket di J2ME. HttpConnection dalam pengaplikasiaannya sangat banyak, contoh: untuk menangkap webservice kita membutuhkannya, untuk browsing image juga kita membutuhkannya. HttpConnection sangat penting untuk melakukakan koneksi keluar.
#Beriktu ini adalah contoh dari HttpConnection untuk mendapatkan String
/*
* HttpConnection.java
*
* Created on December 18, 2007, 3:41 PM
*
*/
package id.gov.bmg.amikom;
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
/**
*
* @author mamat-dev
*/
public class StringHttpConnection {
String url;
/** Creates a new instance of HandlerHttpConnection */
public StringHttpConnection (String url) {
this.url=url;
}
public String getPage() throws IOException {
StringBuffer b = new StringBuffer();
InputStream is = null;
HttpConnection c = null;
try {
long len = 0 ;
int ch = 0;
c = (HttpConnection)Connector.open(url);
is = c.openInputStream();
len =c.getLength() ;
if ( len != -1) {
// Membaca panjang byte yang diterima
for (int i =0 ; i < len ; i++ )
if ((ch = is.read()) != -1)
b.append((char) ch);
} else {
// Membaca sampek koneksi terputus
while ((ch = is.read()) != -1) {
len = is.available() ;
b.append((char)ch);
}
}
//kembalikan dalam bentuk String, dari Hasil StringBuffer
return (b.toString());
} finally {
is.close();
c.close();
}
}
}
#Dalam mengambil gambar menggunakan HttpConnection, kita perlu trik. Hehe tapi gak begitu rumit amat sih. Berikut ini source codenya:
/*
* ImageLoad.java
*
* Created on May 1, 2008, 10:36 PM
*
*/
package main;
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Image;
/**
*
* @author mamat-dev
*/
public class ImageHttpConnection {
Image img;
/** Creates a new instance of ImageLoad */
public ImageHttpConnection (String url) {
this.img = loadImage(url);
}
public Image getImage(){
return this.img;
}
public Image loadImage(String url){
HttpConnection hc = null;
DataInputStream in = null;
try {
hc = (HttpConnection)Connector.open(url);
int length = (int)hc.getLength();
byte[] data = null;
if (length != -1) {
data = new byte[length];
in = new DataInputStream(hc.openInputStream());
in.readFully(data);
}else {
// Jika panjang file tidak diberikan(data stream), maka ambil perpotong-potong(chunk).
int chunkSize = 512;
int index = 0;
int readLength = 0;
in = new DataInputStream(hc.openInputStream());
data = new byte[chunkSize];
do {
if (data.length < index + chunkSize) {
//tangkap byte datanya
byte[] newData = new byte[index + chunkSize];
System.arraycopy(data, 0, newData, 0, data.length);
data = newData;
}
readLength = in.read(data, index, chunkSize);
index += readLength;
} while (readLength == chunkSize);
length = index;
}
//rubah data byte kedalam bentuk Image, dan kembalikan ;)
Image image = Image.createImage(data, 0, length);
return image;
} catch (IOException ioe) {
return null;
} finally {
try {
if (in != null) in.close();
if (hc != null) hc.close();
} catch (IOException ioe) {}
}
}
}
Setelah Membuat Class di atas, lalu bagaimana cara menggunakan. Karena Class ini memerlukan kinerja processor pada hardware mobile, kita harus menggunakan THREAD biar HandPhone kita tidak Hang hehe:P. Berikut ini contohnya
new Thread(new Runnable() {
public void run() {
form1.deleteAll();
ImageHttpConnection il = new ImageHttpConnection ("http://xxx/www/java/mamat/tiwul.gif");
form1.append(il.getImage());
StringHttpConnection sl = new StringHttpConnection ("http://xxx/www/java/mamat/getux.php");
form1.append(sl.getPage() );
}
}).start();
Other Articles
- Build War menggunakan Ant mamat, 2011-11-25 00:52:18
- Eclipse - Tomcat There are no resources that can be added or removed from the server mamat, 2011-11-24 11:59:13
- Contoh Code sederhana untuk Test JNDI DataSource mamat, 2011-04-07 13:44:13
- Reading from and Writing to a URLConnection mamat, 2010-06-08 17:27:55
- Membangun Service Oriented Architecture(SOA) dg EJB, Web Services, Hibernate, Spring dan Mysql (2) mamat, 2010-01-19 17:09:59
- Membangun Service Oriented Architecture(SOA) dg EJB, Web Services, Hibernate JPA, Spring dan Mysql (1) mamat, 2010-01-19 02:18:02
- Membuat Dokumentasi Class menggunakan Javadoc Tool. mamat, 2009-10-28 10:39:09
- Tutorial Spring, Hibernate dan Mysql CRUD(2) mamat, 2009-10-23 00:11:27
- J2ME HTTP Connection Send Text and Send Image then catch using Servlet(2) mamat, 2009-08-10 17:23:19
- One Manga Downloader using Java dan Linux. mamat, 2009-03-20 20:02:22
- J2ME HTTP Connection Send Text and Send Image then catch using Servlet(1) mamat, 2009-01-21 04:49:00
- Tutorial Spring, Hibernate dan Mysql CRUD(1) mamat, 2009-01-14 17:20:38
- Web Service Security mamat, 2008-12-24 18:13:18
- HttpConnection Untuk Load String dan Image mamat, 2008-09-05 16:04:19
- Bedah Code Mobile Kamus mamat, 2008-08-25 17:06:09
- Mobile Kamus mamat, 2008-08-19 15:31:49
- Contoh Source Code JAVA buat Kirim Email(JavaMail API) mamat, 2008-07-21 15:17:22
- Report with Jasper Report in SERVELET mamat, 2008-06-30 11:22:28
- JSP dan Servelet vs SQL2Java mamat, 2008-06-30 10:13:59
- SQL2Java Jadul tapi cepat mamat, 2008-06-20 11:50:58
- Example Source Code using RMS in J2ME mamat, 2008-05-27 13:57:07
- Simultan Load Image in JAVA mamat, 2008-05-01 10:40:34
- Contoh Source Code EJB vs Entity Databse Derby mamat, 2008-04-08 11:11:31
- Play Wav in Java (Streaming jug bisa) mamat, 2008-03-31 14:35:27
- Create Icon Frame in Java(Bikin Icon di Frame Java) mamat, 2008-03-12 10:11:15
- "GPSylon" Framework buat Tracking GPS di JAVA mamat, 2008-02-19 13:55:04
- Bikin Extreme GUI di Java mamat, 2008-02-03 22:13:20
- Mengubah ICON pada JTree di JAVA mamat, 2007-11-14 11:44:13
- Bikin Annotations di Java mamat, 2007-11-12 09:27:10
- Targeting GPS - Integrating J2ME, GPS, and the Wireless Web mamat, 2007-11-02 10:40:56
- Understanding Spring Packaging mamat, 2007-10-05 14:59:34
- SPRING FRAMEWORK mamat, 2007-09-19 13:16:57
- Free Hosting JAVA Server(myjavaserver.com) mamat, 2007-08-14 12:53:22
- JavaFX (Imagine the Possibilities) mamat, 2007-07-19 13:08:50
- Capture Image and send on Server(J2ME) mamat, 2007-07-17 00:00:00

