用AsyncTask进行网络取图片
来源:互联网 发布:喜欢熟女 知乎 编辑:程序博客网 时间:2024/06/03 16:20
1、新建一个XML,写一个Button,Imgview
<span style="font-size:18px;"><ImageView android:id="@+id/imgviews" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/butns" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="AsyncTask网络取图"/></span>
2、新建一个Activty继承Activty,
这里对于控件实例化就不写出来了,直接进入主题
//点击按钮mButton获取网络图片
<span style="font-size:18px;">mButton2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {getBitmapByAsyncTask("http://www.jimeise.net/wp-content/uploads/2014/05/IMGP6150.jpg");}});}private void getBitmapByThread(final String httpUrls){new Thread() {@Overridepublic void run() {URL url;try {url = new URL(httpUrls);HttpURLConnection connect = (HttpURLConnection) url.openConnection();InputStream is = connect.getInputStream();Bitmap bitmap = BitmapFactory.decodeStream(is);Message msg = Message.obtain();msg.obj = bitmap;mHandler.sendMessage(msg);} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}.start();}//用AsyncTask进行网络取图片private void getBitmapByAsyncTask(String httpUrl) {new AsyncTask<String, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(String... params) {String httpurl = params[0];return DownLoadBitmap(httpurl);}protected void onPostExecute(Bitmap result) {if (result != null) {ImageView2.setImageBitmap(result);} else {Toast.makeText(MainActivity.this, "网络取图片出错!",Toast.LENGTH_SHORT).show();}};}.execute(httpUrl);}private Bitmap DownLoadBitmap(String httpUrl) {URL url;Bitmap bitmap = null;HttpURLConnection connect = null;InputStream is = null;try {url = new URL(httpUrl);connect = (HttpURLConnection) url.openConnection();is = connect.getInputStream();bitmap = BitmapFactory.decodeStream(is);} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (is != null) {is.close();}if (connect != null) {connect.disconnect();}} catch (IOException e) {e.printStackTrace();}}return bitmap;}</span>
里面全部是通过封装了的,直接调用。
强调一点就是网络取图片一定要在manifest里注册网络权限:<span style="font-size:18px;"> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /><uses-permission android:name="android.permission.INTERNET"/></span>
0 0
- 用AsyncTask进行网络取图片
- 用Handler进行网络取图片
- AsyncTask获取网络图片
- AsyncTask实现下载网络图片
- AsyncTask 异步显示网络图片
- 利用AsyncTask下载网络图片
- 使用AsyncTask 加载网络图片
- 通过AsyncTask下载网络图片
- 用 requests-bs4 爬取网络图片
- Andorid 分别用AsyncTask和Handler下载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- AsyncTask使用实例---加载网络图片
- 利用AsyncTask从网络上加载图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- [Android] AsyncTask使用实例---加载网络图片
- Android开发--多线程下载加断点续传
- SQL server数据库基础
- ios 谓词使用方法
- linux下svn的用法
- Lua数据结构 — Udata(五)
- 用AsyncTask进行网络取图片
- SQL基本操作
- 数据库连接
- go项目使用gox交叉编译,生成跨平台的可执行文件
- ArrayList 类和List泛型集合
- 编写一遍折半查找。
- 手把手教你搭建和配置Jenkins环境
- 电子商务系统的设计与实现(五):账务系统的功能接口设计
- eclipse控制台显示mysql数据库表的内容、数据库主键、Jdbc中带有变量的sql语句写法12-30-2014