从网络上面获得html数据以及 handler Message的使用形式
2015-01-27 11:43
363 查看
我们是将这个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 "";
}
}
}
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 "";
}
}
}
相关文章推荐
- 关于android4.0中访问网络不能在主线程中进行以及Handler的使用
- 使用Mono Cecil 动态获取运行时数据 (Atribute形式 进行注入 用于写Log) [此文报考 xxx is declared in another module and needs to be imported的解决方法]-摘自网络
- Swift - HTTP网络操作库Alamofire使用详解1(配置,以及数据请求)
- 安卓 多线程、以及使用Handler发送、处理Message(新手笔记-10)
- 使用handler和Message获取xutils发送POST请求从服务器端返回数据
- handler、HttpURLConnection、网络数据下载综合使用。
- 第十二篇:Android GET请求获取网络数据以及POST数据(使用HttpURLConnection)
- TextView加载HTML数据(网络图片以及图片点击事件的实现)
- 使用NSURLConnection获得网络数据
- 【黑马Android】(05)短信/查询和添加/内容观察者使用/子线程网络图片查看器和Handler消息处理器/html查看器/使用HttpURLConnection采用Post方式请求数据/开源项目
- java使用http get以及post方式读取网络数据
- 使用Bundle+Message+Handler实现Fragment与Activity通信(可互传数据互调用方法)
- 网络传输中,对Json组织方式的数据的解析以及使用这个方法,模拟从服务器端下载数据
- 【使用JSOUP实现网络爬虫】修改数据-设置一个元素的HTML内容
- 10_Android中通过HttpUrlConnection访问网络,Handler和多线程使用,读取网络html代码并显示在界面上,ScrollView组件的使用
- 使用swiftyJson和Alamofire做网络请求,以及json数据的解析
- 使用Handle进行Gson解析及开子线程从网络获得数据
- 解决windows10网络数据使用量不统计问题以及任务管理器网络数据为0Mbps问题
- 关于Android的assets资源使用,以及网络间的数据传递JSON格式处理
- MessageQueue.IdleHandler接口使用方法以及原理分析