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

Android打造流暢九宮格抽獎活動效果
因為company項目中需要做九宮格抽獎活動,以前都沒有做過類似的功能,雖然之前在浏覽大神們的博客中,無意中也看到了好多關於抽獎的項目,但因為項目中沒有需要,一直都沒有點
基於Redux的ReactNative項目開發總結(一)
寫在前面 上周把基於Redux的單頁應用開發完 緊接著就開始了ReactNative的開發。真的快得不可思議,只花了一周時間,我們兩個人就分工把APP也開發完了,並且同時
android 之Spinner下拉菜單實現級聯
效果圖如下:默認第一次加載選擇原始隊列:級聯效果圖:關鍵代碼給下拉列表選中事件監聽綁定Id :復制代碼 代碼如下:int pos = firsthand_dlbh_pin
打造簡易NineoldAndroids動畫庫,深入理解Android動畫原理
簡介NineoldAndroids是Github上一個著名的動畫庫,簡單來說,NineOldAndroids是一個向下兼容的動畫庫,主要是使低於API 11的系統也能夠使