开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask
图片异步加载。可以备注图片是否缓存、缓存状态。
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的更多相关文章
- 开源的Android开发框架-------PowerFramework使用心得(一)总体介绍
PowerFramework是一款几乎囊括了所有Android基础功能的框架应用,这个框架目前是开源的,开发者可以在这个框架的基础上进行二次开发.结合开发者自己的UI设计,可以很快就能开发出具备基础应 ...
- 开源的Android开发框架-------PowerFramework使用心得(五)网络请求HTTPRequest
GET请求示例 //所有参数都使用Bundle,用putString Bundle bundle = new Bundle(); bundle.putString("username&quo ...
- 开源的Android开发框架-------PowerFramework使用心得(四)数据库管理DBFarmer
DBFarmer是PowerFramework数据库管理工具的集合. 可以进行对象的存储,添加了setter和getter的参数会被收录到数据库中,每个参数作为一个项,int类型的id或_id会被作为 ...
- 开源的Android开发框架-------PowerFramework使用心得(三)内置浏览器BrowserActivity
使用内置浏览器必须是引用源码的方式(因为jar中不能打包布局文件等资源).内置浏览器是一个继承自BaseActivity的普通Activity,使用WebView实现. 1.简单的打开内置浏览器 In ...
- Android图片异步加载之Android-Universal-Image-Loader
将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...
- Android图片异步加载之Android-Universal-Image-Loader(转)
今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Universal-Image-Loader,该项目的功能十分强大,可以说是我见过的目前功能最全.性能最优的图片异步加载解决 ...
- [置顶] Android图片异步加载之Android-Universal-Image-Loader
将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就 ...
- Android图片异步加载框架Android-Universal-Image-Loader
版权声明:本文为博主原创文章,未经博主允许不得转载. Android-Universal-Image-Loader是一个图片异步加载,缓存和显示的框架.这个框架已经被很多开发者所使用,是最常用的几个 ...
- Android新浪微博客户端(七)——ListView中的图片异步加载、缓存
原文出自:方杰|http://fangjie.info/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54 该项目代码已经放到git ...
随机推荐
- Ruby on Rails创始人DHH谈如何进行混合移动APP开发
混合型APP兼具原生型APP软件良好用户交互体验的优势和网页型APP软件跨平台开发的优势,并且其开发成本和网页型APP软件接近,其开发效率也远高于原生型APP软件.混合型APP已经被众多企业所认可.最 ...
- QiQi and Bonds
只有链接:http://sdu.acmclub.com/index.php?app=problem_title&id=961&problem_id=23685 题意:现在有n个QiQi ...
- 一句话改变TWinControl控件的left坐标的前世今生(入口函数是SetBounds,然后调用SetWindowPos起作用,并发消息更新Delphi的left属性值)
Delphi的重要属性,主要是Enable, Visible, Color, left等等.这里分析left,因为TWinControl里有些覆盖函数的原因,虽然起点都是TControl.SetLe ...
- 通过预编译头文件来提高C++ Builder的编译速度
C++ Builder是最快的C++编译器之一,从编译速度来说也可以说是最快的win32C++编译器了.除了速度之外,C++builder的性能也在其它C++编译器的之上,但许多Delphi程序员仍受 ...
- 【模拟】Codeforces 699A Launch of Collider
题目链接: http://codeforces.com/problemset/problem/699/A 题目大意: 给N个点,向左或向右运动,速度均为1,问最早什么时候有两个点相撞.无解输出-1 题 ...
- Trident-MySQL
使用事物TridentTopology 持久化数据到MySQL 1.构建拓扑JDBCTopology类 package storm.trident.mysql; import java.util.Ar ...
- servlet简介
web 开发分为两种:静态开发(使用html)和动态开发(使用servlet/jsp,jsp就是servlet,ASP ,PHP) 所以servlet是sun公司提供的一门专门用于开发动态web资源的 ...
- MVC的特点
1.MVC模式 Mvc将应用程序分离为三个部分: Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则.与数据访问层非常类似. View:是一种动态生成HTML的模 ...
- Maven deploy
1.在maven/conf/setting.xml中: 在<servers>中加入 <server> <id>internal</id> <u ...
- Eclipse Python配置
Macbook上面安装pydev后,发现新建project后并没有PyDev的选项.在官网上搜索后发现是JDK版本太久.上Oracle官网下载了最新JDK(url: http://www.oracle ...