السلام عليكــم ورحمـة الله وبركاتــه ،،
هذا هو البرنامج
فحصته على اكثر من موقع و اشتغل بشكل جيد
لكن في بعد المواقع لا يظهر العربي، لكن لا يعطي exception على حروف معينة
حمل المشروع بالكامل : Connection4.rar
و الكود :
/*
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;
/**
* @author Mohammad Ersan
*/
public class MainMidlet extends MIDlet implements CommandListener {
private Display display;
private Form form;
private Command connectCMD, exitCMD;
private HttpConnection connection;
private TextField textField;
private String systemEncoding = null;
public MainMidlet() {
display = Display.getDisplay(this);
form = new Form("Test");
connectCMD = new Command("Connect", Command.ITEM, 1);
exitCMD = new Command("Exit", Command.EXIT, 2);
form.addCommand(connectCMD);
form.addCommand(exitCMD);
form.setCommandListener(this);
textField = new TextField("URL:", "", 500, TextField.URL);
form.append(textField);
}
public void startApp() {
display.setCurrent(form);
systemEncoding = System.getProperty("microedition.encoding");
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == connectCMD) {
startConnection();
} else {
notifyDestroyed();
}
}
public void startConnection() {
new Thread(new Runnable() {
public void run() {
try {
String url = textField.getString();
if (url == null || url.length() < 1) {
return;
}
if (url.indexOf("http://") < 0) {
url = "http://" + url;
}
textField.setString(url);
connection = (HttpConnection) Connector.open(url);
String pageEncoding = getEncoding(connection.getType());
String pageHTML = parseURL(connection.openInputStream(), pageEncoding);
form.append(pageHTML);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
}).start();
}
private String getEncoding(String connectionType) {
String encoding = null;
if (connectionType != null && connectionType.length() > 0) {
int x = connectionType.indexOf("charset");
if (x > -1) {
encoding = connectionType.substring(x + "charset".length() + 1, connectionType.length());
encoding = encoding.trim();
}
}
System.out.println("Page Encoding : " + encoding);
return encoding;
}
private String parseURL(InputStream is, String encoding) throws IOException {
String htmlPage = null;
if (encoding != null && encoding.length() > 0) {
byte[] b = new byte[1];
StringBuffer sb = new StringBuffer();
while ((is.read(b)) != -1) {
sb.append(new String(b, encoding));
}
htmlPage = sb.toString();
} else {
if (systemEncoding != null && systemEncoding.length() > 0) {
byte[] b = new byte[1];
StringBuffer sb = new StringBuffer();
while ((is.read(b)) != -1) {
sb.append(new String(b, systemEncoding));
}
htmlPage = sb.toString();
} else {
int x;
StringBuffer sb = new StringBuffer();
while ((x = is.read()) != -1) {
sb.append((char) x);
}
htmlPage = sb.toString();
}
}
is.close();
return htmlPage;
}
}
