2011-03-05 15 views
0

私のプログラムでは、アクティビティを開始できないという例外が返され、Xml解析のアプリケーションに強制終了を返すという問題があります。私のコードを見直して助けてください。Xmlアンドロイドでの解析

コード:package com.ex.createXml;アンドロイドの人々から

import java.net.URL; 
import javax.xml.parsers.SAXParser; 
import javax.xml.parsers.SAXParserFactory; 
import org.xml.sax.InputSource; 
import org.xml.sax.XMLReader; 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.LinearLayout; 
import android.widget.TextView; 


public class XmlParsingExample extends Activity{ 
/*Create Object SitesList Class*/ 
SitesList siteslist = null; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    LinearLayout layout = new LinearLayout(this); 
    layout.setOrientation(1); 
    TextView name[]; 
    TextView websites[]; 
    TextView category[]; 
    try{ 
     /*Handling Xml*/ 
     SAXParserFactory spf = SAXParserFactory.newInstance(); 
     SAXParser sp = spf.newSAXParser(); 
     XMLReader xr = sp.getXMLReader(); 


     URL sourceurl = new URL("http://www.androidpeople.com/wp-content/uploads/2010/06/example.xml"); 
     MyXmlHandler mxh = new MyXmlHandler(); 
     xr.setContentHandler(mxh); 
     xr.parse(new InputSource(sourceurl.openStream())); 


    }catch(Exception e) 
    { 
     System.out.println("Xml Parsing Exception="+e); 

    } 
    siteslist = MyXmlHandler.siteslist; 
    name = new TextView[siteslist.getName().size()]; 
    websites = new TextView[siteslist.getWebsite().size()]; 
    category = new TextView[siteslist.getCategory().size()]; 

    /** Set the result text in textview and add it to layout */ 
    for (int i = 0; i < siteslist.getWebsite().size(); i++) { 
    name[i] = new TextView(this); 
    name[i].setText("Name = "+siteslist.getName().get(i)); 
    websites[i] = new TextView(this); 
    websites[i].setText("Website = "+siteslist.getWebsite().get(i)); 
    category[i] = new TextView(this); 
    category[i].setText("Website Category = "+siteslist.getCategory().get(i)); 

    layout.addView(name[i]); 
    layout.addView(websites[i]); 
    layout.addView(category[i]); 
    } 
    setContentView(layout); 
} 

} 
+0

ここにあなたのログを追加することができます.. –

答えて

0

uはmanifeastファイルまたはこのnot.as xmlParsingExampleを述べているにされ&それはuがmanifeastで言及かを持っているだけで確認するので、正常に動作します。

0

あなたのxml解析とは関係なく、(マニフェスト内の)あなたの活動にインターネット許可を設定しましたか? the android dev docを参照し、android.permission.INTERNETを設定してください。

httpでxmlファイルを取得しようとしました。結果として、アプリケーションがインターネットを使用することを許可しない場合は...