异步处理任务框架

			
	异步处理任务框架:
	
	异步获取头像图片
	
	
/**
 *
 * 第一个参数 就是图片下载路径的url
 * 第二个参数是 下载的进度 
 * 第三个参数就是异步任务执行完毕后的返回值
 * @author Administrator
 *
 */
	public class LoadImageAsynTask extends AsyncTask<String, Void, Bitmap> {
	LoadImageAsynTaskCallback loadImageAsynTaskCallback;
	
	
	//要调用这个类,就必须实现其接口
	public LoadImageAsynTask(LoadImageAsynTaskCallback loadImageAsynTaskCallback) {
		this.loadImageAsynTaskCallback = loadImageAsynTaskCallback;
	}

	public interface LoadImageAsynTaskCallback{
	   public void	beforeLoadImage();
	   public void afterLoadImage(Bitmap bitmap);
	}

	/**
	 * 当异步任务执行之前调用
	 */
	@Override
	protected void onPreExecute() {
		//初始化的操作具体怎么去实现, LoadImageAsynTask 不知道
		// 需要让调用这个 LoadImageAsynTask 的人 去实现 
		loadImageAsynTaskCallback.beforeLoadImage();
		super.onPreExecute();
	}

	/**
	 * 异步任务执行之后调用
	 */
	@Override
	protected void onPostExecute(Bitmap result) {
		loadImageAsynTaskCallback.afterLoadImage(result);
		super.onPostExecute(result);
	}

	/**
	 * 后台子线程运行的异步任务 
	 * String... params 可变长度的参数 
	 */
	@Override
	protected Bitmap doInBackground(String... params) {
		try {
			String path = params[0];
			URL url = new URL(path);
			HttpURLConnection conn =  (HttpURLConnection) url.openConnection();
			InputStream is = conn.getInputStream();
			return  BitmapFactory.decodeStream(is);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值