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

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. C# 关于NULL 可空值类型 ? 和空接操作符??

    作者 陈嘉栋(慕容小匹夫) C#引入了可空值类型的概念.在介绍究竟应该如何使用可空值类型之前,让我们先来看看在基础类库中定义的结构--System.Nullable<T>.以下代码便是Sy ...

  2. How to solve "The specified service has been marked for deletion" error

    There may be several causes which lead to the service being stuck in “marked for deletion”. Microsof ...

  3. Maximum Submatrix 2

    Codeforces Round #221 (Div. 1) B:http://codeforces.com/problemset/problem/375/B 题意:给你一个n*m的0,1矩阵,你可以 ...

  4. Cognos请求流程——<转>

    访问Cognos8 匿名访问 用户通过浏览器发起Cognos访问请求,请求被送至Cognos Gateway Gateway接收请求并发送给一个dispatcher dispatcher发现请求没有附 ...

  5. 模拟键盘发送文字(使用SendInput函数)

    嗯...老生常谈的话题, 不过系统的总结了一下, 找了个相对简单的实现方式, 可以方便的发送任何文字 参考另一片文章: http://www.cnblogs.com/-clq/archive/2011 ...

  6. FindControl什么时候才会使用ObjectFromHWnd函数呢?——VCL很难调试,加一个日志函数,记录时间

    IsDelphiHandleFindVCLWindowfunction IsVCLControl(Handle: HWND): Boolean;function FindControl(Handle: ...

  7. spoj-694-Distinct Substrings(后缀数组)

    题意: 给定一个字符串,求不相同的子串的个数 分析: 每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同 的 前 缀 的 个 数 . 如 果 所 有 的 后 缀 按 照 suffix ...

  8. -_-#【jQuery插件】Colorpicker 颜色选择器

    Spectrum - The No Hassle jQuery Colorpicker (jQuery 插件) Color Picker jQuery plugins (jQuery 插件) colo ...

  9. 实战weblogic集群之应用部署

    一.创建应用发布目录,上传应用包. 1.在10.70.52.11-14的/app/sinova目录下建立applications目录(名称可以自定义),作为我们应用的发布目录. $ mkdir /ap ...

  10. 【转】Android自定义Adapter的ListView的思路及代码

    原文网址:http://www.jb51.net/article/37236.htm Android自定义Adapter的ListView的思路及代码,需要的朋友可以参考一下   在开发中,我们经常使 ...