2012-11-30 36 views
0

能否請你告訴我,爲什麼在這條線的SAX解析器突破:SAX解析器的OpenStream()錯誤

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

此前我已經構造URL是這樣的:

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

網址是目前和功能,所以它不是由於它。

我是新來的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):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955) 11-30 20:27:24.892:E/AndroidRuntime(2388):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980 ) 11-30 20:27:24.892:E/AndroidRuntime(2388):at android.app.ActivityThread.access $ 600(ActivityThread.java:122) 11-30 20:27:24.892:E/AndroidRuntime(2388): at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1146) 11-30 20:27:24.892:E/AndroidRuntime(2388):at android.os.Handler.dispatchMessage(Handler.java:99) 11-30 20:27:24.892:E/AndroidRuntime(2388):at android.os.Looper.loop(Looper.java:137) 11-30 20:27:24.892:E/AndroidRuntime(2388):at android .app.ActivityThread.main(ActivityThread.java:4340) 11-30 20:27:24.892:E/AndroidRuntime(2388):at java.lang.reflect.Method.invokeNative(Native Method) 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):at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551) 11-30 20:27:24.892:E/AndroidRuntime(2388):at dalvik.system.NativeStart.main(Native Method) 11-30 20:27:24.892:E/AndroidRuntime(2388) :引起:java.lang.NullPointerException 11-30 20:27:24.892:E/AndroidRuntime(2388):at com.headfirstlabs.nasadailyimage.IotdHandler.processFeed(IotdHandler.java:58) 11-30 20:27 :24.892:E/AndroidRuntime(2388):at com.headfirstlabs.nasadailyimage.NasaDailyImage.onCreate(NasaDailyImage.java:18) 11-30 20:27:24.892:E/AndroidRuntime(2388):at android.app.Activity .performCreate(Activity.java:4465) 11-30 20:27:24.892:E/AndroidRuntime(2388):at andr oid.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更多

+4

的代碼,你貼有無關SAX行。將錯誤堆棧跟蹤添加到您的問題。 – Perception

+0

確保設備連接到互聯網... –

+0

謝謝大家,我安裝了Android的源代碼,以便捕獲錯誤,因爲如果我嘗試查看異常,Eclipse會給我「源代碼不可用」錯誤。我將在完成後再次與您聯繫 – TunAntun

回答

0

您需要捕獲當您試圖打開流並引發(至少)異常信息。這應該足以解釋爲什麼openStream()呼叫不起作用。 (我的猜測是你的訪問網站被防火牆阻止,或者你實際上是試圖連接到不同的URL。這也有可能是你以某種方式得到了錯誤的代碼行......)

+0

謝謝大家,我正在安裝Android源代碼,以便捕獲錯誤,因爲如果我嘗試查看異常,Eclipse會給我「源代碼不可用」錯誤。完成後我會再次與您聯繫。 – TunAntun

+0

我想你們都忘了我,我會分手並哭泣... – TunAntun

+0

行;我找到了解決方案。看看這個:http://oreilly.com/catalog/errataunconfirmed.csp?isbn=0636920012825 – TunAntun