读书笔记:请求网络的图片
2014-05-07 10:06
204 查看
首先发起一个网络请求,请求到图片的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();
}
请求图片后返回到主线程处理
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();
}
相关文章推荐
- 《android开发进阶从小工到专家》读书笔记--HTTP网络请求
- Android通过请求网络数据实现ListView,ListView的优化、图片的缓存、子控件的点击事件。
- swift 基础小结 --delegate、Optional、GCD的使用、request请求、网络加载图片并保存到沙箱、闭包以及桥接
- 用户管理分页 网络请求 图片路径
- ios常见错误—— -[_NSString absoluteURL](请求网络图片)
- 【读书笔记】iOS网络-HTTP-请求内容
- 使用MVP+Retrofit+RxJava 图片加载使用Fresco 做网络请求并展示数据
- 网络请求图片
- ViewPager网络请求图片并无限轮播
- QF——网络之网络请求的几种方式,图片缓存
- GIF图片合集(用于网络请求图片用)
- 网络请求生成图片
- 请求网络的图片
- 网络请求图片ImageLoader
- android网络加载图片设置背景并且把图片设置模糊,请求图片,
- Android---RecyclerView网络请求图片加载
- 网络请求图片 SDWebImage
- Retrofit网络请求+Recyclerview展示数据+Fresco显示图片
- 【读书笔记】iOS网络-HTTP-请求内容
- xml解析,httputils网络请求,imageloder图片加载