线程退出与未捕获的异常(组= 0x41465700)

时间:2016-07-25 08:53:34

标签: android android-asynctask download httpurlconnection

我正在尝试使用HttpURLConnection()从我的服务器将图像加载到我的Android应用中。但我得到了上述错误。发生错误的代码如下。从downloadBitmap函数调用doInBackground()函数。提前谢谢。

private Bitmap downloadBitmap(String url) {

         Log.d("msg", "in download bitmap");



         HttpURLConnection urlConnection = null;
         try {
             Log.d("msg", url);
             URL uri = new URL(url);
             urlConnection = (HttpURLConnection) uri.openConnection();
             //urlConnection.setDoOutput(true);
             int statusCode = urlConnection.getResponseCode();
             Log.d("status",statusCode+"");
             if (statusCode != HttpStatus.SC_OK) {
                 Log.d("msg","returning null");
                 return null;
             }

             InputStream inputStream = urlConnection.getInputStream();
             if (inputStream != null) 
             {
                 Log.d("msg","in download if");
                 Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                 return bitmap;
             }


         } catch (Exception e) {
             urlConnection.disconnect();
             Log.w("ImageDownloader", "Error downloading image from " + url);
         } finally {
             if (urlConnection != null) {
                 urlConnection.disconnect();
             }
         }
         return null;
     }

有时我会在下面的堆栈跟踪中得到另一个错误

 07-26 02:21:45.282: E/AndroidRuntime(1031): FATAL EXCEPTION: AsyncTask #2
 07-26 02:21:45.282: E/AndroidRuntime(1031): java.lang.RuntimeException: An error occured while executing doInBackground()
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.lang.Thread.run(Thread.java:841)
 07-26 02:21:45.282: E/AndroidRuntime(1031): Caused by: java.lang.NullPointerException
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at com.example.listview.List$ImageDownloaderTask.downloadBitmap(List.java:464)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at com.example.listview.List$ImageDownloaderTask.doInBackground(List.java:372)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at com.example.listview.List$ImageDownloaderTask.doInBackground(List.java:1)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
 07-26 02:21:45.282: E/AndroidRuntime(1031):    ... 4 more
 07-26 02:21:45.371: W/dalvikvm(1031): threadid=13: thread exiting with uncaught exception (group=0x41465700)
 07-26 02:21:45.371: I/Process(1031): Sending signal. PID: 1031 SIG: 9

0 个答案:

没有答案
相关问题