SAXParsing を実装しようとしています... 携帯電話でアプリを実行すると例外が発生しますが、Android 2.2 AVD で実行すると、アプリは正常に動作します。私のコードを調べてください。解析中の URL を削除しました。公の場で表示するのは気が進まないからです。
public class ZodiacXMLParsing extends Activity{
String mainURL="http://www.myURL/zodiac.xml";
TextView tv;
@Override
protected void onCreate(Bundle zodiac) {
// TODO Auto-generated method stub
super.onCreate(zodiac);
setContentView(R.layout.zodiacxmlparsing);
tv=(TextView)findViewById(R.id.tv);
try{
URL website=new URL(mainURL);
SAXParserFactory spf=SAXParserFactory.newInstance();
SAXParser sp=spf.newSAXParser();
XMLReader xr=sp.getXMLReader();
HandlingXMLStuff handle=new HandlingXMLStuff();
xr.setContentHandler(handle);
xr.parse(new InputSource(website.openStream()));
String information=handle.getInformation();
tv.setText(information);
}catch(Exception e){
Toast.makeText(ZodiacXMLParsing.this, "Error", Toast.LENGTH_SHORT).show();
}
}
}
public class HandlingXMLStuff extends DefaultHandler{
XMLDataCollected info=new XMLDataCollected();
public String getInformation(){
return info.set();
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
if(localName.equals("aries")){
String aries=attributes.getValue("data");
info.get(aries);
}
}
}
public class XMLDataCollected {
String contents;
public void get(String z){
contents=z;
}
public String set(){
return contents;
}
}