package com.tv.downloadimage;
import java.util.ArrayList;
import com.tv.btl.R;
import com.tv.model.ImageDownload;
import com.tv.net.JsonHandler;
import android.app.Activity;
import android.app.ListActivity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Toast;
public class TestDownLoadImage extends ListActivity {
private ArrayList<ImageDownload> urls;
private ArrayList<DownloadTask> tasks;
private String[] url={ "http://dantri21.vcmedia.vn/zoom/327_245/jcjZsmdamOhPYNEOw8Up/Image/2012/08/tt18-19379.jpg",
"http://dantri21.vcmedia.vn/zoom/94_79/x8SuE6cccccccccccccJ/Image/2012/11/Anh-2.2-7b4e3.JPG",
"http://dantri21.vcmedia.vn/zoom/94_79/kLmtCyYGgph1lHhk1u5h/Image/2012/11/cafe-fd33b.jpg",
"http://dantri21.vcmedia.vn/zoom/94_79/a4R9SzOKIZ3rZJpaVTug/Image/2012/11/Anh-bien-tap/NSChiTrung-fd0cd-f4f84.jpg",
"http://dantri21.vcmedia.vn/zoom/130_100/http://dantri4.vcmedia.vn/ugBpMKnpIXHccccccccc/Image/2012/11/deo-ca-2-c6425.JPG",
"http://dantri21.vcmedia.vn/zoom/130_100/87f1qPhjcalNI3wAqb6p/Image/2012/11/Bien-Dong-22a4a.jpg",
"http://dantri21.vcmedia.vn/zoom/130_100/elVaF199bomfqIyKul5/Image/2012/11/vn-fac70.jpg",
"http://dantri21.vcmedia.vn/zoom/130_100/kLmtCyYGgph1lHhk1u5h/Image/2012/11/giaoduc-52c1b.jpg",
"http://dantri21.vcmedia.vn/zoom/130_100/7dBrKnsutwiOg2hPbvFQ/Image/NAM-2012/THANG-11/Tuan-2/chihao-2-2bb9f.JPG"
};
DownloadAdapter adapter;
private Bitmap bg;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testdownload);
adapter = new DownloadAdapter();
tasks=new ArrayList<TestDownLoadImage.DownloadTask>();
setListAdapter(adapter);
}
class DownloadAdapter extends ArrayAdapter<String>{
public DownloadAdapter(){
super(TestDownLoadImage.this, R.layout.testrow, url);
bg=BitmapFactory.decodeResource(getResources(), R.drawable.bgimage);
}
public View getView(int position, View convertView, ViewGroup parent){
View v=convertView;
if(v!=null)
{
}
else
{
LayoutInflater inflate=getLayoutInflater();
v=inflate.inflate(R.layout.testrow, parent, false);
ImageView _imageView=(ImageView) v.findViewById(R.id.test_image);
_imageView.setImageBitmap(bg);
DownloadTask t = new DownloadTask(_imageView);
tasks.add(t);
t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,url[position]);
}
// ImageDownload id=urls.get(position);
// if(!id.isDownloaded())
// { System.out.println("chua co anh");
// //h.populate(bg);
// DownloadTask t = new DownloadTask(_temp);
// tasks.add(t);
// t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,id);
// }
return v;
}
}
// class Holder{
// private ImageView img;
// public Holder(View row) {
// img =(ImageView) row.findViewById(R.id.test_image);
// }
//
// public void populate(Bitmap bm){
// img.setImageBitmap(bm);
// }
//
// public ImageView getImageView(){
// return this.img;
// }
// }
class DownloadTask extends AsyncTask<String, String, Bitmap>{
private ImageView img;
private ImageDownload d;
private String url;
public DownloadTask(ImageView img){
this.img=img;
}
@Override
protected Bitmap doInBackground(String... params) {
Bitmap b=JsonHandler.getBitMapFromNet(params[0]);
return b;
}
protected void onPostExecute(Bitmap b){
this.img.setImageBitmap(b);
}
}
public void onClick(View v){
urls.remove(0);
adapter.notifyDataSetChanged();
}
public void onDestroy(){
super.onDestroy();
for(int i=0;i<tasks.size();i++){
tasks.get(i).cancel(true);
}
}
}