0

SAXパーサーがこの行で壊れる理由を教えてください。

InputStream inputStream = new URL(url).openStream(); 

以前は、次のような URL を作成しました。

private String url = "http://www.nasa.gov/rss/image_of_the_day.rss";

URL は最新で機能しているため、それが原因ではありません。

私はSAXに慣れていないので、私の無知を許してください。

Eclipse のエラー ログは次のとおりです。

11-30 20:27:24.892: E/AndroidRuntime(2388): 致命的な例外: メイン 11-30 20:27:24.892: E/AndroidRuntime(2388): java.lang.RuntimeException: アクティビティ ComponentInfo{com を開始できません。 headfirstlabs.nasadailyimage/com.headfirstlabs.nasadailyimage.NasaDailyImage}: java.lang.NullPointerException 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955) で 11 -30 20:27:24.892: E/AndroidRuntime(2388): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) で 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app で.ActivityThread.access$600(ActivityThread.java:122) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) 11-30 20: 27:24.892: E/AndroidRuntime(2388): android.os.Handler で。dispatchMessage(Handler.java:99) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.os.Looper.loop(Looper.java:137) 11-30 20:27:24.892: E/ AndroidRuntime(2388): android.app.ActivityThread.main(ActivityThread.java:4340) 11-30 20:27:24.892: E/AndroidRuntime(2388): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で11-30 20:27:24.892: E/AndroidRuntime(2388): java.lang.reflect.Method.invoke(Method.java:511) 11-30 20:27:24.892: E/AndroidRuntime(2388): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 11-30 20:27:24.892: E/AndroidRuntime(2388): com.android.internal.os.ZygoteInit.main(ZygoteInit) .java:551) 11-30 20:27:24.892: E/AndroidRuntime(2388): dalvik.system.NativeStart.main(ネイティブ メソッド) 11-30 20:27:24.892: E/AndroidRuntime(2388): 原因by: java.lang.NullPointerException 11-30 20:27:24.892: E/AndroidRuntime(2388): com.headfirstlabs.nasadailyimage.IotdHandler.processFeed(IotdHandler.java:58) 11-30 20:27:24.892: E/AndroidRuntime(2388): com.headfirstlabs.nasadalyimage.NasaDailyImage.onCreate (NasaDailyImage.java:18) 11-30 20:27:24.892: E/AndroidRuntime (2388): android.app.Activity.performCreate (Activity.java:4465) で 11- 30 20:27:24.892: E/AndroidRuntime(2388): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app. ActivityThread.performLaunchActivity(ActivityThread.java:1919) 11-30 20:27:24.892: E/AndroidRuntime(2388): ... 11 もっと見るE/AndroidRuntime(2388): com.headfirstlabs.nasadalyimage.NasaDailyImage.onCreate(NasaDailyImage.java:18) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.Activity.performCreate(Activity) .java:4465) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 11-30 20:27:24.892: E/AndroidRuntime(2388) ): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 11-30 20:27:24.892: E/AndroidRuntime(2388): ... 11 もっと見るE/AndroidRuntime(2388): com.headfirstlabs.nasadalyimage.NasaDailyImage.onCreate(NasaDailyImage.java:18) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.Activity.performCreate(Activity) .java:4465) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 11-30 20:27:24.892: E/AndroidRuntime(2388) ): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 11-30 20:27:24.892: E/AndroidRuntime(2388): ... 11 もっと見るjava:1049) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 11-30 20:27:24.892: E/AndroidRuntime(2388) : ... 11件以上java:1049) 11-30 20:27:24.892: E/AndroidRuntime(2388): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 11-30 20:27:24.892: E/AndroidRuntime(2388) : ... 11件以上

4

2 に答える 2

0

ストリームを開こうとしたときにスローされる例外をキャッチし、(少なくとも) 例外メッセージを出力する必要があります。openStream()通話が機能しない理由を説明するには、これで十分です。

(私の推測では、サイトへのアクセスがファイアウォールによってブロックされているか、実際には別の URL に接続しようとしている可能性があります。コード行が間違っている可能性もあります ...)

于 2012-11-30T12:36:25.127 に答える
0

この本に関するエラーページがあることを知りました。(非常に大きなもの) 105 ページで、parse メソッドにパラメーターが欠落していると書かれています。

ここで見ることができます:

http://oreilly.com/catalog/errataunconfirmed.csp?isbn=0636920012825

于 2012-12-01T00:26:23.867 に答える