【AsynTask】Android异步加载一张图品
16lz
2022-01-22
package com.test.asyntask;import java.io.IOException;import java.io.InputStream;import java.net.URL;import android.app.Activity;import android.app.ProgressDialog;import android.graphics.drawable.Drawable;import android.os.AsyncTask;import android.os.Bundle;import android.widget.ImageView;import com.test.R;public class AsynTask extends Activity { private ImageView mImage; private ProgressDialog mDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.asyn_task); mDialog = new ProgressDialog(this); mDialog.setTitle("请稍等"); mDialog.setMessage("正在加载..."); mImage = (ImageView) findViewById(R.id.img); new ImageAsynTask().execute(); } private class ImageAsynTask extends AsyncTask<Void, Void, Drawable> { @Override protected Drawable doInBackground(Void... params) { String url = "http://img1.3lian.com/img2011/07/20/05.jpg"; return loadImages(url); } @Override protected void onPostExecute(Drawable result) { super.onPostExecute(result); mDialog.dismiss(); mImage.setImageDrawable(result); } @Override protected void onPreExecute() { super.onPreExecute(); mDialog.show(); } } @Override protected void onDestroy() { super.onDestroy(); mDialog.dismiss(); } public Drawable loadImages(String url) { try { return Drawable.createFromStream( (InputStream) (new URL(url)).openStream(), "test"); } catch (IOException e) { e.printStackTrace(); } return null; }}View Code
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer