class LoadingPicTask extends AsyncTask<Object, Integer, Object> {
private ImageView img;
private HashMap<String, Bitmap> bms;
private String id;
@Override
protected Object doInBackground(Object... params) {
String url = (String) params[0];
img = (ImageView) params[1];
bms = (HashMap<String, Bitmap>) params[2];
id = (String) params[3];
// 连接url,获取图片,并显示
try {
URL u = new URL(url);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setConnectTimeout(1000);
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.connect();
Bitmap b = BitmapFactory.decodeStream(conn.getInputStream());
b = Bitmap.createScaledBitmap(b, 60, 80, true);
return b;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected void onPostExecute(Object result) {
if (result != null) {
img.setImageBitmap((Bitmap) result);
bms.put(id, (Bitmap) result);
}
}
@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
@Override
protected void onCancelled() {
// TODO Auto-generated method stub
super.onCancelled();
}
}
这是我写的一个加载图片的代码片段,里面是AsynTask的部分用法
private ImageView img;
private HashMap<String, Bitmap> bms;
private String id;
@Override
protected Object doInBackground(Object... params) {
String url = (String) params[0];
img = (ImageView) params[1];
bms = (HashMap<String, Bitmap>) params[2];
id = (String) params[3];
// 连接url,获取图片,并显示
try {
URL u = new URL(url);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setConnectTimeout(1000);
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.connect();
Bitmap b = BitmapFactory.decodeStream(conn.getInputStream());
b = Bitmap.createScaledBitmap(b, 60, 80, true);
return b;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected void onPostExecute(Object result) {
if (result != null) {
img.setImageBitmap((Bitmap) result);
bms.put(id, (Bitmap) result);
}
}
@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
@Override
protected void onCancelled() {
// TODO Auto-generated method stub
super.onCancelled();
}
}
这是我写的一个加载图片的代码片段,里面是AsynTask的部分用法