publicclassMainActivityextendsActivity{privateStringurl="https://cache.yisu.com/upload/information/20200311/46/200000.jpg";@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);testTask();}publicvoidtestTask(){DownloadPicTasktask=newDownloadPicTask();task.imgPath=url;task.img=(ImageView)findViewById(R.id.p_w_picpathView1);task.execute(url);}}

//任务类

packagecom.example.task;importorg.apache.http.HttpResponse;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.DefaultHttpClient;importorg.apache.http.util.EntityUtils;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.AsyncTask;importandroid.util.Log;importandroid.widget.ImageView;publicclassDownloadPicTaskextendsAsyncTask<String,Integer,String>{publicStringimgPath;privatebyte[]data;publicImageViewimg;protectedvoidonPrepareExecute(){Log.v("task","onPrepareExecute");super.onPreExecute();}//doInBackground方法内部执行后台任务,不可在此方法内修改UI@OverrideprotectedStringdoInBackground(String...arg0){//TODOAuto-generatedmethodstubLog.v("task","doInBackground"+arg0);HttpClienthttpClient=newDefaultHttpClient();HttpGethttpGet=newHttpGet(imgPath);HttpResponsehttpResponse=null;try{httpResponse=httpClient.execute(httpGet);if(httpResponse.getStatusLine().getStatusCode()==200){data=EntityUtils.toByteArray(httpResponse.getEntity());}}catch(Exceptione){e.printStackTrace();}returnnull;}//onProgressUpdate方法用于更新进度信息@OverrideprotectedvoidonProgressUpdate(Integer...progresses){Log.v("task","onProgressUpdate");super.onProgressUpdate(progresses);}//onPostExecute方法用于在执行完后台任务后更新UI,显示结果@OverrideprotectedvoidonPostExecute(Stringresult){//progressDialog.dismiss();Log.v("task","onPostExecute");Bitmapbmp=BitmapFactory.decodeByteArray(data,0,data.length);img.setImageBitmap(bmp);}//onCancelled方法用于在取消执行中的任务时更改UI@OverrideprotectedvoidonCancelled(){Log.v("task","onCancelled");}}

//。xml中只有一个ImageView控件