2012-02-20 4 views
0

こんにちは、ハニカムにRSSリーダーを使用しようとしていますが、次のコードサンプルを実行して実行してください(起動するボタンを押してクラッシュします)。これは、クラッシュ(デバッグを通じて)発生符号である:xmlreaderを持つSAXパーサがハニカムにクラッシュする

public List<Article> getLatestArticles(String feedUrl) { 
    Log.v("getLatestArticles","entering"+ feedUrl); 
    URL url = null; 
    try { 


     SAXParserFactory spf = SAXParserFactory.newInstance(); 
     Log.v("getLatestArticles","made instance"); 
     SAXParser sp = spf.newSAXParser(); 
     XMLReader xr = sp.getXMLReader(); 
     Log.v("getLatestArticles","made a bunch of stuff"); 

     url = new URL(feedUrl); 
     Log.v("getLatestArticles","made URL"); 
     xr.setContentHandler(this); 
     Log.v("getLatestArticles","RSS is the following" + this.toString()); 
     Log.v("getLatestArticles","RSS is the following"); 
     xr.parse(new InputSource(url.openStream())); 
     Log.v("getLatestArticles","made parsing possible"); 

クラッシュxr.parse(新たInputSource(url.openStream()))で起こります。また、url.openStream()のためにクラッシュが発生していることがわかりました。私もこれを実行しようとすると、私はエラーが発生します。

02-20 17:17:56.566: D/AndroidRuntime(449): Shutting down VM 
02-20 17:17:56.566: W/dalvikvm(449): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
02-20 17:17:56.586: E/AndroidRuntime(449): FATAL EXCEPTION: main 
02-20 17:17:56.586: E/AndroidRuntime(449): android.os.NetworkOnMainThreadException 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077) 
02-20 17:17:56.586: E/AndroidRuntime(449): at java.net.InetAddress.lookupHostByName(InetAddress.java:481) 
02-20 17:17:56.586: E/AndroidRuntime(449): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:281) 
02-20 17:17:56.586: E/AndroidRuntime(449): at java.net.InetAddress.getAllByName(InetAddress.java:249) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:69) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:304) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:292) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:274) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1038) 
02-20 17:17:56.586: E/AndroidRuntime(449): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:523) 
02-20 17:17:56.586: E/AndroidRuntime(449): at java.net.URL.openStream(URL.java:645) 
02-20 17:17:56.586: E/AndroidRuntime(449): at com.tmm.android.rssreader.util.RSSHandler.getLatestArticles(RSSHandler.java:166) 
02-20 17:17:56.586: E/AndroidRuntime(449): at com.tmm.android.rssreader.reader.RssReader.getLatestRssFeed(RssReader.java:44) 
02-20 17:17:56.586: E/AndroidRuntime(449): at com.tmm.android.rssreader.reader.NewspaperFragment.onCreateView(NewspaperFragment.java:38) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:730) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:921) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.app.BackStackRecord.run(BackStackRecord.java:578) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1221) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:375) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.os.Handler.handleCallback(Handler.java:587) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.os.Handler.dispatchMessage(Handler.java:92) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.os.Looper.loop(Looper.java:126) 
02-20 17:17:56.586: E/AndroidRuntime(449): at android.app.ActivityThread.main(ActivityThread.java:3997) 
02-20 17:17:56.586: E/AndroidRuntime(449): at java.lang.reflect.Method.invokeNative(Native Method) 
02-20 17:17:56.586: E/AndroidRuntime(449): at java.lang.reflect.Method.invoke(Method.java:491) 
02-20 17:17:56.586: E/AndroidRuntime(449): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
02-20 17:17:56.586: E/AndroidRuntime(449): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
02-20 17:17:56.586: E/AndroidRuntime(449): at dalvik.system.NativeStart.main(Native Method) 

は、誰もがこの問題に実行したり、似たようなが発生しました:

そして、ここでは以下のデバッグ情報は、私が受けているのですか?ありがとう

答えて

0

あなたのデバイスはhttp接続を確立できません。そのため、データが取得されません。 SAXパーサーが失敗するわけではありません。 UIスレッドでHTTP呼び出しにアクセスしようとしていることが強く疑われます。ここに興味深いのはblogです。

+0

これは、ハニカムで起こることであることがわかりました。私はこれを次の例で回答しました:http://stackoverflow.com/questions/6275681/android-3-0-honeycomb-problem-in-parsing-rss-feed – Letheone1

0

あなたのエミュレータ(これまでコードを実行している場所)からfeedUrlにアクセスできることを確認してください。何らかの理由でURLにアクセスできないと思われます。

関連する問題