public class ImageTest extends Activity {
private ImageView imageView;
private ProgressBar progressBar;
private static String URL = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.image);
progressBar = (ProgressBar) findViewById(R.id.progressbar);
new MyAsyncTask().execute(URL);//传递进入参数
}
@Override
protected void onPause() {
super.onPause();
}
class MyAsyncTask extends AsyncTask<String, Void, Bitmap> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
progressBar.setVisibility(View.GONE);
imageView.setImageBitmap(bitmap);
}
@Override
protected Bitmap doInBackground(String... params) {
// 取出参数 params
String url = params[0];
Bitmap bitmap = null;
URLConnection connection;
InputStream is;
try {
//访问网络的操作
connection = new URL(url).openConnection();
is = connection.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
//解析输入流
bitmap = BitmapFactory.decodeStream(bis);
is.close();
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
//返回 bitmap
return bitmap;
}
}
}
使用AsyncTask 加载网络图片
最新推荐文章于 2019-06-13 14:58:31 发布