Android:AysncTask异步加载
以下是链接:
http://blog.csdn.net/abc5382334/article/details/17097633
http://keeponmoving.iteye.com/blog/1515611
http://www.cnblogs.com/suinuaner/archive/2013/04/11/android_fifty.html
http://blog.csdn.net/lanjianhun/article/details/8675299
http://blog.csdn.net/alex0203/article/details/7646973
http://www.cnphp6.com/archives/58164
http://blog.csdn.net/weihan1314/article/details/8045993
转:
package com.wyl.myasyctask; import java.io.InputStream; import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView; public class MainActivity extends Activity {
private static final String sImageUrl = "http://fashion.qqread.com/ArtImage/20110225/0083_13.jpg";
private Button mLoadButton;
private ImageView mImageView; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); Log.i("UI thread", " >> onCreate()"); mImageView = (ImageView) this.findViewById(R.id.ImageVivew); mLoadButton = (Button) this.findViewById(R.id.LoadButton);
mLoadButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoadImageTask task = new LoadImageTask(v.getContext());
task.execute(sImageUrl);// 源码中得知,会调用onPreExecute()...方法
}
}); } class LoadImageTask extends AsyncTask<String, Integer, Bitmap> {
private ProgressDialog mProgressBar; LoadImageTask(Context context) {
mProgressBar = new ProgressDialog(context);
mProgressBar.setCancelable(true);
mProgressBar.setMessage("setMessage()...");
mProgressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressBar.setMax(100);
} @Override
protected Bitmap doInBackground(String... params) {
System.out.println("doInBackground()..."); Bitmap bitmap = null; try {
publishProgress(10);
Thread.sleep(1000); InputStream in = new java.net.URL(sImageUrl).openStream();
publishProgress(60);
Thread.sleep(1000); bitmap = BitmapFactory.decodeStream(in);
in.close();
} catch (Exception e) {
e.printStackTrace();
} publishProgress(100);
return bitmap;
} @Override
protected void onCancelled() {
super.onCancelled();
} @Override
protected void onPreExecute() { mProgressBar.setProgress(0);
mProgressBar.setMessage("Image downloading ... 0%");
mProgressBar.show();
System.out.println("onPreExecute()...");
} @Override
protected void onPostExecute(Bitmap result) {
System.out.println("onPostExecute()...");
if (result != null) {
mProgressBar.setMessage("Image downloading success!");
mImageView.setImageBitmap(result);
} else {
mProgressBar.setMessage("Image downloading failure!");
} mProgressBar.dismiss();
} @Override
protected void onProgressUpdate(Integer... values) {
System.out.println("onProgressUpdate()...");
mProgressBar.setMessage("Image downloading ... %" + values[0]);
mProgressBar.setProgress(values[0]);
}
} }
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/AbsoluteLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <Button
android:id="@+id/LoadButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Load">
</Button> <ImageView
android:id="@+id/ImageVivew"
android:layout_width="match_parent"
android:layout_height="400dip"
android:scaleType="centerInside"
android:padding="2dp">
</ImageView> </LinearLayout>


Android:AysncTask异步加载的更多相关文章
- Android 图片异步加载的体会,SoftReference已经不再适用
在网络上搜索Android图片异步加载的相关文章,目前大部分提到的解决方案,都是采用Map<String, SoftReference<Drawable>> 这样软引用的 ...
- Android图片异步加载之Android-Universal-Image-Loader
将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...
- Android图片异步加载之Android-Universal-Image-Loader(转)
今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Universal-Image-Loader,该项目的功能十分强大,可以说是我见过的目前功能最全.性能最优的图片异步加载解决 ...
- [Android] Android 用于异步加载 ContentProvider 中的内容的机制 -- Loader 机制 (LoaderManager + CursorLoader + LoaderManager.LoaderCallbacks)
Android 用于异步加载 ContentProvider 中的内容的机制 -- Loader 机制 (LoaderManager + CursorLoader + LoaderManager.Lo ...
- android 网络异步加载数据进度条
ProgressDialog progressDialog = null; public static final int MESSAGETYPE = 0; private void execute( ...
- Android开发--异步加载
因为移动端软件开发思维模式或者说是开发的架构其实是不分平台和编程语言的,就拿安卓和IOS来说,他们都是移动前端app开发展示数据和用户交互数据的数据终端,移动架构的几个大模块:UI界面展示.本地数据可 ...
- Android图片异步加载框架Android-Universal-Image-Loader
版权声明:本文为博主原创文章,未经博主允许不得转载. Android-Universal-Image-Loader是一个图片异步加载,缓存和显示的框架.这个框架已经被很多开发者所使用,是最常用的几个 ...
- Android 多线程 异步加载
Android 应用中需要显示网络图片时,图片的加载过程较为耗时,因此加载过程使用线程池进行管理, 同时使用本地缓存保存图片(当来回滚动ListView时,调用缓存的图片),这样加载和显示图片较为友好 ...
- android ListView异步加载图片(双缓存)
首先声明,参考博客地址:http://www.iteye.com/topic/685986 对于ListView,相信很多人都很熟悉,因为确实太常见了,所以,做的用户体验更好,就成了我们的追求... ...
随机推荐
- 关于tomcat的clean
1 添加了一个web项目到tomcat,然后进行clean的时候,根目录实际上是在WebContent下,也就是说存放在WebContent目录下的所有文件在clean的时候才会被添加到tomcat对 ...
- .net DataTable 取值辅助类
DataTableCommon类主要是帮助取值 方法列表: public static string GetCellString(DataTable dt,int row, int column) p ...
- Python 城市菜单详解(超详解)
print("--------城市查询系统---------") print("--------按数值进行查询--------") menu={" ...
- SIF与CIF
SIF 动态图像专家组(MPEG)在1992年推出的MPEG-1标准中首次定义了SIF(Source Input Format,源输入格式).CCIR 601标准(现改为ITU-R BT.601标准) ...
- 合理设计C代码 函数笔记
本文首先用判断一个数字是否为素数使用For循环实现做例子,之后用函数完成多个功能. 什么是素数? 素数又成质数,不包含1和0.通俗的去说就是它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整 ...
- Oracle中SQL语句学习五(统计分组语句group by和having)
oracle(41) 在 应用系统开发中,进行需要统计数据库中的数据,当执行数据统计时,需要将表中的数据进行分组显示,在统计分组中是通过group by子句.分组函数.having子句共同实现的.其中 ...
- 玩转无线 — GNURADIO 简单运用
大家好, 我是Insight-labs的旺财,这里放出个旺财在Bsides Toronto 2013 会上RF-Ninjia Hacking议题中的一个案例,随着物联网越来越火热,而物联网又离不开无线 ...
- android studio recent projects
android studio正常的删除项目的方法是可以点击右键,选择project structure,进入到界面时,选择你要删除的工程,点击减号,接着就可以右键工程有一个delete. 另外一种方法 ...
- [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
引言: 我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下. 说 ...
- Android中图片处理相关问题
在Android的开发中,我们经常回去处理一些图片相关的问题,比如当加载图片到内存中产生的OOM(OutOfMemory)异常.图片加载到内存中占多大内存的问题.jpg png两种常见的图片的原理及区 ...