基本信息
源码名称:AsyncTask 异步下载网络图片 示例源码下载
源码大小:2.51M
文件格式:.rar
开发语言:Java
更新时间:2013-10-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

private class DownLoad extends AsyncTask<String, Integer, String> 
    {
        //onPreExecute方法在execute()后执行
        @Override  
        protected void onPreExecute() 
        {  
            Log.i(TAG, "onPreExecute() enter");  
            mShowLogTextView.setText("onPreExecute。。。begin downLoad");  
        }  
          
        //doInBackground方法内部执行后台任务,不能在里面更新UI,否则有异常。
        @Override  
        protected String doInBackground(String... params) 
        {  
            Log.i(TAG, "doInBackground(String... params) enter");  
            
            URL imageUrl=null;
            try 
            {
                imageUrl=new URL(params[0]);
            } 
            catch (MalformedURLException e) 
            {
                e.printStackTrace();
                Log.e(TAG, e.getMessage());
            }
            try
            {
                //使用HttpURLConnection打开连接
                HttpURLConnection urlConn=(HttpURLConnection)imageUrl.openConnection();
                urlConn.setDoInput(true);
                urlConn.connect();
                //将得到的数据转化成InputStream
                InputStream is=urlConn.getInputStream();
                //将InputStream转换成Bitmap
                mDownLoadBtBitmap=BitmapFactory.decodeStream(is);
                is.close();
                //不能在这里更新UI,否则有异常******
                //mNetImageView.setImageBitmap(bitmap);
            }catch(IOException e)
            {
                Log.e(TAG,e.getMessage());
            }
            
            return "ok";
        }  
          
        //onProgressUpdate方法用于更新进度信息  
        @Override  
        protected void onProgressUpdate(Integer... progresses) 
        {  
            Log.i(TAG, "onProgressUpdate(Integer... progresses) enter");  
 
            mShowLogTextView.setText("onProgressUpdate Downloading...");  
        }  
          
        //onPostExecute用于doInBackground执行完后,更新界面UI。
        //result是doInBackground返回的结果
        @Override  
        protected void onPostExecute(String result) 
        {  
            Log.i(TAG, "onPostExecute(Result result) called");  
            mShowLogTextView.setText("Down load finish result=" result);  
              
            mNetImageView.setImageBitmap(mDownLoadBtBitmap);
        }  
          
        //onCancelled方法用于取消Task执行,更新UI
        @Override  
        protected void onCancelled() 
        {  
            Log.i(TAG, "onCancelled() called");  
            mShowLogTextView.setText("onCancelled");  
        }  
    }