从网络上面获得html数据以及 handler Message的使用形式

来源:互联网 发布:mac版multisim 编辑:程序博客网 时间:2024/05/10 23:53

我们是将这个html义字符串的形式输出


Message msg = Message.obtain();
msg.what = SUCCESS;
msg.obj = result;
handler.sendMessage(msg);


Message msg = Message.obtain();
msg.what = FAILED;
msg.obj = "服务器返回数据失败";
handler.sendMessage(msg);



Message msg = Message.obtain();
msg.what = ERROR;
msg.obj = "网络连接失败";
handler.sendMessage(msg);



private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
String result = (String) msg.obj;

switch (msg.what) {
case SUCCESS:
tv.setText(result);
break;


case FAILED:
Toast.makeText(MainActivity.this, result, 0).show();
break;
case ERROR:
Toast.makeText(MainActivity.this, result, 0).show();
break;
}

};
};


我们返回的数据  就是一个流    但是


public class StreamTools {

/**
* 把输入流转换成一个字符串
* @param is 输入流
* @return 返回一个字符串,如果转换失败就返回一个空字符
*/
public static String readStream(InputStream is){

try {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

byte[] buffer = new byte[1024];
int len = -1;
while((len = is.read(buffer)) != -1){
baos.write(buffer, 0, len);
}
is.close();
return new String(baos.toByteArray());
} catch (Exception e) {
return "";
}


}


}















0 0