NullPointerException в URL getContent - PullRequest
       3

NullPointerException в URL getContent

0 голосов
/ 28 ноября 2011

Я только что получил ошибку сбоя в своем приложении. Ошибка

Exception class java.lang.NullPointerException
Source method URLConnection.guessContentTypeFromStream()

и

java.lang.NullPointerException
at java.net.URLConnection.guessContentTypeFromStream(URLConnection.java:675)
at java.net.URLConnection.getContent(URLConnection.java:162)
at java.net.URL.getContent(URL.java:621)
at kostas.menu.olympiakos.nea.onListItemClick(nea.java:160)
at android.app.ListActivity$2.onItemClick(ListActivity.java:321)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3382)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)

класс с именем "nea" загружает некоторые RSS с изображениями, и строка сбоя

 try {

 (nea.java:160) Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(imagee).getContent());
                image1.setImageBitmap(bitmap); 
              } catch (MalformedURLException e) {
               //log exception here
              } catch (IOException e) {
                //log exception here
              }  

Произошел ли сбой моего приложения из-за отсутствия изображения для загрузки или проблема в другом месте? Спасибо

EDIT: Имейте в виду, что:

List<String> imgl = new ArrayList<String>();

и

   String imagee=imgl.get(position).toString();

@ астры:

я заменил это:

 Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(imagee).getContent());
                image1.setImageBitmap(bitmap); 

с этим:

URL url = new URL(imagee);
                InputStream is = (InputStream) url.getContent();
                Bitmap bitmap = BitmapFactory.decodeStream(is);
                image1.setImageBitmap(bitmap); 

1 Ответ

0 голосов
/ 28 ноября 2011

Вы можете проверить это легко.

Просто объявите переменные для хранения промежуточного результата, например:

Url url = new Url(imagee);
InputStream is = (InputStream) url.getContent();
Bitmap bitmap = BitmapFactory.decodeStream(is);

Вы получите строку, которая дает сбой всего одним простым вызовом, и вы легко узнаете, какой объект проверить или исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...