package rw.ansync;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
public class AsynaTask_TestActivity extends Activity {
/** Called when the activity is first created. */
private EditText editText;
private Button button;
private ProgressBar progressBar;
private ImageView imageView;
private static final String URL_STRING=
"http://photocdn.sohu.com/20110927/Img320705637.jpg";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText=(EditText) findViewById(R.id.editText1);
editText.setText(URL_STRING);
button=(Button) findViewById(R.id.button1);
progressBar=(ProgressBar) findViewById(R.id.progressBar1);
imageView=(ImageView) findViewById(R.id.imageView1);
button.setOnClickListener(
new ButtonListener());
}
class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
MyAsynaTask mTask=
new MyAsynaTask(imageView, progressBar,button);
mTask.execute(URL_STRING);
}
}
}
package rw.ansync;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.R.integer;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
public
class MyAsynaTask extends AsyncTask<String, Integer, Bitmap>{
private ImageView imageView;
private ProgressBar progressBar;
private Button button;
public MyAsynaTask( ImageView imageView,
ProgressBar progressBar,Button button) {
super();
this.imageView = imageView;
this.progressBar = progressBar;
this.button=button;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Bitmap doInBackground(String... params) {
Bitmap bitmap=
null;
try {
URL url=
new URL(params[
0]);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setDoInput(
true);
connection.connect();
progressBar.setMax(connection.getContentLength());
InputStream inputStream=connection.getInputStream();
bitmap=BitmapFactory.decodeStream(inputStream);
inputStream.close();
}
catch (Exception e) {
}
return bitmap;
}
@Override
protected void onProgressUpdate(Integer... values) {
int value=values[
0];
progressBar.setProgress(value);
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Bitmap result) {
imageView.setImageBitmap(result);
button.setText(
"下载完成");
super.onPostExecute(result);
}
}