读书笔记:请求网络的图片
来源:互联网 发布:中国交通地图软件 编辑:程序博客网 时间:2024/05/22 00:23
首先发起一个网络请求,请求到图片的url后再去请求图片。
请求图片后返回到主线程处理
private Runnable myRun;
private DefaultHttpClient httpClient;
private Object result;
public void request(final String url) {
Log.i("mjm", "request : " + url);
myRun = new Runnable() {
@Override
public void run() {
Log.i("TAG", url);
httpClient = new DefaultHttpClient();
// 设置网络连接超时时间
httpClient.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT, 5000);
// 设置网络socket通信超时时间
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
3000);
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse;
try {
httpResponse = httpClient.execute(httpGet);
int code = httpResponse.getStatusLine().getStatusCode();
// 请求成功
if (HttpStatus.SC_OK == code) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
httpResponse.getEntity().writeTo(baos);
result = new String(baos.toByteArray()).trim();
Log.i("TAG", result.toString());
loadImageFromUrl(result.toString());
} else {// 请求失败
httpGet.abort();
result = "fail";
Log.i("TAG", result.toString());
}
} catch (Exception e) {// 解码异常
e.printStackTrace();
}
}
};
new Thread(myRun).start();
}
public void loadImageFromUrl(final String url) {
Log.i("mjm", "loadImageFromUrl : " + url);
myRun = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Bitmap bitmap = null;
URL u = null;
HttpURLConnection conn = null;
InputStream is = null;
try {
u = new URL(url);
conn = (HttpURLConnection) u.openConnection();
is = conn.getInputStream();
Log.i("mjm", "is : " + is.toString());
bitmap = BitmapFactory.decodeStream(is);
mLoadImageCallBack.onSuccess(bitmap);
} catch (Exception e) {
Log.i("mjm", "false : " + e.toString());
mLoadImageCallBack.onFail(e.toString());
}
}
};
new Thread(myRun).start();
}
- 读书笔记:请求网络的图片
- iOS -读书笔记-网络请求
- 网络同步异步请求的图片讲解
- ios请求网络图片简便的方法
- 自定义网络请求图片的大小
- 自定义view的viewpager(网络请求图片)
- 读书笔记1,安卓网络请求方式的整理
- 【读书笔记】iOS网络-同步请求,队列式异步请求,异步请求的区别
- 网络请求图片 SDWebImage
- 网络请求生成图片
- 网络请求图片 SDWebImage
- 网络请求图片
- 请求网络下载图片
- volley请求网络图片
- 网络请求图片
- 网络请求图片
- 网络请求图片缓存
- 网络请求图片
- 解决android线程(thread)中页面跳转动画无效
- VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage
- 推荐系统的相关概念
- Oracle: ORA-01000: maximum open cursors exceed
- oracle数组类型
- 读书笔记:请求网络的图片
- 【C】——C利用回调函数实现多态
- [Effective Java] 第1条 考虑用静态工厂方法代替构造函数
- 修正单纯形法·优化算法实现·Java
- 关于MFC下改变buntton按下、弹起时按钮的背景颜色的问题
- jQuery获取多种input值的方法
- 模块管理常规功能自定义系统的设计与实现(32--权限设计[2])
- 百度公布的2013-2014中国网站运营发展趋势报告
- 《linux 内核完全剖析》 signal.c 代码分析笔记