Ich versuche, diesen Code zu verstehen: und was ich nicht verstehe, istBedeutung von message.obj [android network]
das obj
von message.obj = Ergebnis;
von der Google API, ist es ein beliebiges Objekt an den Empfänger zu senden. Warum verwenden wir ein beliebiges Objekt in dieser Java [android] world ???
class DownThread extends Thread {
String mAddr;
DownThread(String addr) {
mAddr = addr;
}
public void run() {
String result = DownloadHtml(mAddr);
Message message = mAfterDown.obtainMessage();
message.obj = result;
mAfterDown.sendMessage(message);
}
String DownloadHtml(String addr) {
StringBuilder html = new StringBuilder();
try {
URL url = new URL(addr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
if (conn != null) {
conn.setConnectTimeout(10000);
conn.setUseCaches(false);
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream())
);
for(;;) {
String line = br.readLine();
if (line == null) break;
html.append(line + "/n");
}
br.close();
}
conn.disconnect();
}
} catch (NetworkOnMainThreadException e){
return e.getMessage();
} catch (Exception e){
return e.getMessage();
}
return html.toString();
}
}
Handler mAfterDown = new Handler() {
public void handleMessage(Message msg) {
mProgress.dismiss();
TextView result = (TextView) findViewById(R.id.result);
result.setText((String) msg.obj);
}
};
Danke, du hast mir sehr geholfen. – bruno