图片异步加载。可以备注图片是否缓存、缓存状态。

1、缓存-SD卡,路径可设置

2、图片压缩

3、可加载本地和网络图片

4、url为本地视频文件可以显示缩略图

5、中文url图片地址FileNotFoundException解决

 EditText input = (EditText) findViewById(R.id.input);
ImageView img = (ImageView) findViewById(R.id.img);
RadioButton radio1 = (RadioButton) findViewById(R.id.radio1);
RadioButton radio2 = (RadioButton) findViewById(R.id.radio2);
RadioButton radio3 = (RadioButton) findViewById(R.id.radio3);
String url = input.getText().toString();
ImageTask task = new ImageTask(img,"/mnt/sdcard/",new ImageTaskListener() { @Override
public void onTaskOver(ImageView img) {
// TODO Auto-generated method stub
Log.e("loadImg", "图片下载完成");
} @Override
public void onDownloading(int max, int progress) {
Log.e("loadImg", "图片下载进度:" + progress + "/" + max);
}
});
ImageTaskOpion option = task.getImageTaskOpion();
option.setAutoVisibility(radio1.isChecked());
option.setOverlap(radio2.isChecked());
option.setAutoCompress(radio3.isChecked());
task.setOption(option);
task.execute(url);

以上是框架里面的代码。

下面看看如何在自己的代码里面进行调用。

 public class ImageTaskActivity extends Activity implements OnClickListener {

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_task);
} @Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btnExecute:
loadImg();
break;
} } private void loadImg(){
EditText input = (EditText) findViewById(R.id.input);
ImageView img = (ImageView) findViewById(R.id.img);
RadioButton radio1 = (RadioButton) findViewById(R.id.radio1);
RadioButton radio2 = (RadioButton) findViewById(R.id.radio2);
RadioButton radio3 = (RadioButton) findViewById(R.id.radio3);
String url = input.getText().toString();
ImageTask task = new ImageTask(img,"/mnt/sdcard/",new ImageTaskListener() { @Override
public void onTaskOver(ImageView img) {
// TODO Auto-generated method stub
Log.e("loadImg", "图片下载完成");
} @Override
public void onDownloading(int max, int progress) {
Log.e("loadImg", "图片下载进度:" + progress + "/" + max);
}
});
ImageTaskOpion option = task.getImageTaskOpion();
option.setAutoVisibility(radio1.isChecked());
option.setOverlap(radio2.isChecked());
option.setAutoCompress(radio3.isChecked());
task.setOption(option);
task.execute(url); } }

DEMO文件的运行效果:

框架和DEMO文件下载地址  http://www.ideayapai.com/Application/Home/View/default/PowerFamily/index-2.htm

欢迎各位大牛、大神莅临QQ群进行交流:575026537

开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask的更多相关文章

  1. 开源的Android开发框架-------PowerFramework使用心得(一)总体介绍

    PowerFramework是一款几乎囊括了所有Android基础功能的框架应用,这个框架目前是开源的,开发者可以在这个框架的基础上进行二次开发.结合开发者自己的UI设计,可以很快就能开发出具备基础应 ...

  2. 开源的Android开发框架-------PowerFramework使用心得(五)网络请求HTTPRequest

    GET请求示例 //所有参数都使用Bundle,用putString Bundle bundle = new Bundle(); bundle.putString("username&quo ...

  3. 开源的Android开发框架-------PowerFramework使用心得(四)数据库管理DBFarmer

    DBFarmer是PowerFramework数据库管理工具的集合. 可以进行对象的存储,添加了setter和getter的参数会被收录到数据库中,每个参数作为一个项,int类型的id或_id会被作为 ...

  4. 开源的Android开发框架-------PowerFramework使用心得(三)内置浏览器BrowserActivity

    使用内置浏览器必须是引用源码的方式(因为jar中不能打包布局文件等资源).内置浏览器是一个继承自BaseActivity的普通Activity,使用WebView实现. 1.简单的打开内置浏览器 In ...

  5. Android图片异步加载之Android-Universal-Image-Loader

    将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...

  6. Android图片异步加载之Android-Universal-Image-Loader(转)

    今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Universal-Image-Loader,该项目的功能十分强大,可以说是我见过的目前功能最全.性能最优的图片异步加载解决 ...

  7. [置顶] Android图片异步加载之Android-Universal-Image-Loader

    将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...

  8. Android图片异步加载框架Android-Universal-Image-Loader

    版权声明:本文为博主原创文章,未经博主允许不得转载. Android-Universal-Image-Loader是一个图片异步加载,缓存和显示的框架.这个框架已经被很多开发者所使用,是最常用的几个 ...

  9. Android新浪微博客户端(七)——ListView中的图片异步加载、缓存

    原文出自:方杰|http://fangjie.info/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54 该项目代码已经放到git ...

随机推荐

  1. 基于LeanCloud云引擎的Web全栈方案

    LeanEngine-Full-Stack The FULL STACK DEVELOPER 复杂的项目, 协作分工, 自动化流程,代码组织结构,框架选择,国际化方案等 Generator 或者See ...

  2. DB2中的系统表SYSIBM.SYSDUMMY1

    ORACLE中有一张系统数据库表DUAL用来访问系统的相关信息 SELECT SYSDATE FROM DUAL;  --返回当前系统日期 ------------------------------ ...

  3. C#程序设计基础——类、对象、方法

    类与对象 类 类是一种构造,通过使用该构造,用户可以将其他类型的变量.方法和事件组合在一起,从而创建自定义类型.类就像一个蓝图,它定义类型的数据和行为. 对象 定义类之后,便可通过将类加载到内存中来使 ...

  4. Farm Irrigation(并查集)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  5. vijos1514天才的记忆

    P1514天才的记忆 背景 神仙飞啊飞 描述 从前有个人名叫W and N and B,他有着天才般的记忆力,他珍藏了许多许多的宝藏.在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松 ...

  6. datagridview,textbox,combobox的数据绑定,数据赋值,picturebox的用法

    一:datagridview数据绑定 二:textbox的数据绑定(datetimepicker) 总结: 最好还是写成双向绑定那种,不要再写出发事件了,只要在给textbox赋值就能重新绑定了,不然 ...

  7. 《Web 前端面试指南》2、JavaScript 的 Bind 函数进阶

    使用 Bind() 设置方法中 this 对象 //<button>获取随机的人</button>​ //<input type="text"> ...

  8. js点击弹出div层

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. IOS UIView 之属性篇

    UIView 继承于UIResponder 所遵守的协议有 NSCoding .UIAppearance. UIAppearanceContainer                         ...

  10. JQuery请求WebService返回数据的几种处理方式

    打开自己的博客仔细浏览了一番,发现已经好久没有写博客了,由于最近一直比较忙碌懈怠了好多.默默反省三分钟.......言归正传,现在就对最近在学习webservice的过程中遇到的几种类型的问题中我的理 ...