Android使用HttpClient下载图片
发布时间:2020-05-26 02:21:18 所属栏目:Java 来源:互联网
导读:Android使用HttpClient下载图片
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 HttpURLConnection与HttpClient的区别:/**
*通过Get获取网页内容
*
*@paramurl
*如:http://preview.quanjing.com/is002/ev601-025.jpg
*@return
*@throwsClientProtocolException
*@throwsIOException
*@date2014.05.10
*/
publicstaticBitmapgetHttpGetBitmap(Stringurl)
throwsClientProtocolException,IOException{
Bitmapbitmap=null;
//新建一个默认的连接
HttpClientclient=newDefaultHttpClient();
//新建一个Get方法
HttpGetget=newHttpGet(url);
//得到网络的回应
HttpResponseresponse=client.execute(get);
//如果服务器响应的是OK的话!
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
InputStreamis=response.getEntity().getContent();
bitmap=BitmapFactory.decodeStream(is);
is.close();
}
returnbitmap;
}
<uses-permissionandroid:name="android.permission.INTERNET"/> packagecom.dzt.downloadimage;
importjava.io.IOException;
importjava.net.MalformedURLException;
importorg.apache.http.client.ClientProtocolException;
importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.ImageView;
importcom.dzt.downloadimage.utils.HttpUtils;
publicclassMainActivityextendsActivityimplementsOnClickListener{
privateBitmapmDownloadImage=null;
privateImageViewimage=null;
privatedownloadImageTasktask;
privateboolean_isExe=false;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initWidgets();
task=newdownloadImageTask();
}
@Override
protectedvoidonStop(){
//TODOAuto-generatedmethodstub
super.onStop();
if(_isExe){
task.cancel(true);//取消操作
}
}
privatevoidinitWidgets(){
image=(ImageView)findViewById(R.id.img);
Buttonbtn=(Button)findViewById(R.id.download_btn);
btn.setOnClickListener(this);
}
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
switch(v.getId()){
caseR.id.download_btn:
if(!_isExe){
task.execute("http://preview.quanjing.com/is002/ev601-025.jpg");//执行异步操作
_isExe=true;
}
break;
default:
break;
}
}
classdownloadImageTaskextendsAsyncTask<String,Integer,Boolean>{
@Override
protectedBooleandoInBackground(String...params){
//TODOAuto-generatedmethodstub
System.out.println("[downloadImageTask->]doInBackground"
+params[0]);
//try{
//mDownloadImage=HttpUtils.getNetWorkBitmap(params[0]);
/ |
