开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask

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

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

2、图片压缩

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

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

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

 

 1 EditText input = (EditText) findViewById(R.id.input);
 2 ImageView img = (ImageView) findViewById(R.id.img);
 3 RadioButton radio1 = (RadioButton) findViewById(R.id.radio1);
 4 RadioButton radio2 = (RadioButton) findViewById(R.id.radio2);
 5 RadioButton radio3 = (RadioButton) findViewById(R.id.radio3);
 6 String url = input.getText().toString();
 7 ImageTask task = new ImageTask(img,"/mnt/sdcard/",new ImageTaskListener() {
 8      
 9     @Override
10     public void onTaskOver(ImageView img) {
11         // TODO Auto-generated method stub
12         Log.e("loadImg", "图片下载完成");
13     }
14      
15     @Override
16     public void onDownloading(int max, int progress) {
17         Log.e("loadImg", "图片下载进度:" + progress + "/" + max);
18     }
19 });
20 ImageTaskOpion option = task.getImageTaskOpion();
21 option.setAutoVisibility(radio1.isChecked());
22 option.setOverlap(radio2.isChecked());
23 option.setAutoCompress(radio3.isChecked());
24 task.setOption(option);
25 task.execute(url);

以上是框架里面的代码。

 

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

 1 public class ImageTaskActivity extends Activity implements OnClickListener {
 2 
 3     
 4     
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_image_task);
 9     }
10 
11     @Override
12     public void onClick(View v) {
13         switch(v.getId()){
14         case R.id.btnExecute:
15             loadImg();
16             break;
17         }
18 
19     }
20     
21     private void loadImg(){
22         EditText input = (EditText) findViewById(R.id.input);
23         ImageView img = (ImageView) findViewById(R.id.img);
24         RadioButton radio1 = (RadioButton) findViewById(R.id.radio1);
25         RadioButton radio2 = (RadioButton) findViewById(R.id.radio2);
26         RadioButton radio3 = (RadioButton) findViewById(R.id.radio3);
27         String url = input.getText().toString();
28         ImageTask task = new ImageTask(img,"/mnt/sdcard/",new ImageTaskListener() {
29             
30             @Override
31             public void onTaskOver(ImageView img) {
32                 // TODO Auto-generated method stub
33                 Log.e("loadImg", "图片下载完成");
34             }
35             
36             @Override
37             public void onDownloading(int max, int progress) {
38                 Log.e("loadImg", "图片下载进度:" + progress + "/" + max);
39             }
40         });
41         ImageTaskOpion option = task.getImageTaskOpion();
42         option.setAutoVisibility(radio1.isChecked());
43         option.setOverlap(radio2.isChecked());
44         option.setAutoCompress(radio3.isChecked());
45         task.setOption(option);
46         task.execute(url);
47         
48     }
49 
50 }

 

DEMO文件的运行效果:

 

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

 

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

 

转载于:https://www.cnblogs.com/ideayapai/p/5643866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值