Android使用HttpClient下载图片
发布时间:2020-12-14 23:29:15 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 HttpURLConnection与HttpClient的区别: /**?*?通过Get获取网页内容?*??*?@param?url?*????????????如:http://preview.quanjing.com/is002/ev601-025
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
HttpURLConnection与HttpClient的区别:
/** ?*?通过Get获取网页内容 ?*? ?*?@param?url ?*????????????如:http://preview.quanjing.com/is002/ev601-025.jpg ?*?@return ?*?@throws?ClientProtocolException ?*?@throws?IOException ?*?@date?2014.05.10 ?*/ public?static?Bitmap?getHttpGetBitmap(String?url) throws?ClientProtocolException,?IOException?{ Bitmap?bitmap?=?null; //?新建一个默认的连接 HttpClient?client?=?new?DefaultHttpClient(); //?新建一个Get方法 HttpGet?get?=?new?HttpGet(url); //?得到网络的回应 HttpResponse?response?=?client.execute(get); //?如果服务器响应的是OK的话! if?(response.getStatusLine().getStatusCode()?==?HttpStatus.SC_OK)?{ InputStream?is?=?response.getEntity().getContent(); bitmap?=?BitmapFactory.decodeStream(is); is.close(); } return?bitmap; } <uses-permission?android:name="android.permission.INTERNET"?/> package?com.dzt.downloadimage; import?java.io.IOException; import?java.net.MalformedURLException; import?org.apache.http.client.ClientProtocolException; import?android.app.Activity; import?android.graphics.Bitmap; import?android.os.AsyncTask; import?android.os.Bundle; import?android.view.View; import?android.view.View.OnClickListener; import?android.widget.Button; import?android.widget.ImageView; import?com.dzt.downloadimage.utils.HttpUtils; public?class?MainActivity?extends?Activity?implements?OnClickListener?{ private?Bitmap?mDownloadImage?=?null; private?ImageView?image?=?null; private?downloadImageTask?task; private?boolean?_isExe?=?false; @Override protected?void?onCreate(Bundle?savedInstanceState)?{ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initWidgets(); task?=?new?downloadImageTask(); } @Override protected?void?onStop()?{ //?TODO?Auto-generated?method?stub super.onStop(); if?(_isExe)?{ task.cancel(true);?//?取消操作 } } private?void?initWidgets()?{ image?=?(ImageView)?findViewById(R.id.img); Button?btn?=?(Button)?findViewById(R.id.download_btn); btn.setOnClickListener(this); } @Override public?void?onClick(View?v)?{ //?TODO?Auto-generated?method?stub switch?(v.getId())?{ case?R.id.download_btn: if?(!_isExe)?{ task.execute("http://preview.quanjing.com/is002/ev601-025.jpg");?//?执行异步操作 _isExe?=?true; } break; default: break; } } class?downloadImageTask?extends?AsyncTask<String,?Integer,?Boolean>?{ @Override protected?Boolean?doInBackground(String...?params)?{ //?TODO?Auto-generated?method?stub System.out.println("[downloadImageTask->]doInBackground?" +?params[0]); //?try?{ //?mDownloadImage?=?HttpUtils.getNetWorkBitmap(params[0]); //?}?catch?(MalformedURLException?e)?{ //?//?TODO?Auto-generated?catch?block //?e.printStackTrace(); //?}?catch?(IOException?e)?{ //?//?TODO?Auto-generated?catch?block //?e.printStackTrace(); //?} try?{ mDownloadImage?=?HttpUtils.getHttpGetBitmap(params[0]); }?catch?(ClientProtocolException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); }?catch?(IOException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } return?true; } //?下载完成回调 @Override protected?void?onPostExecute(Boolean?result)?{ //?TODO?Auto-generated?method?stub image.setImageBitmap(mDownloadImage); System.out.println("result?=?"?+?result); super.onPostExecute(result); } //?更新进度回调 @Override protected?void?onProgressUpdate(Integer...?values)?{ //?TODO?Auto-generated?method?stub super.onProgressUpdate(values); } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |