Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 開源的Android開發框架-----PowerFramework使用心得(二)圖片異步加載ImageTask

開源的Android開發框架-----PowerFramework使用心得(二)圖片異步加載ImageTask

編輯:關於Android編程

圖片異步加載。可以備注圖片是否緩存、緩存狀態。

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文件的運行效果:

\

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved