Hi Ludwig,
Thanks for ur Response.. i added that entry. After adding <uses-
permission> tag in androidmanifest.xml, i was getting
UnknownHostException...it was basically due to URL class....I replaced
everything with HTTPClient classes....
Here is my modified class and it worked me.....
import java.io.InputStream;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpConnection;
import org.apache.commons.httpclient.HttpConnectionManager;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.HttpURL;
import org.apache.commons.httpclient.SimpleHttpConnectionManager;
import org.apache.commons.httpclient.methods.PostMethod;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class ParsingXML extends Activity {
private final String DEBUG_TAG = "ParsingXML";
protected HttpConnectionManager connectionManager = new
SimpleHttpConnectionManager();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
String baseURL = "http://www.anddev.org/images/tut/basic/
parsingxml/example.xml";
HttpConnection connection = null;
try{
HttpURL httpURL = new HttpURL(baseURL);
HostConfiguration host = new HostConfiguration();
host.setHost(httpURL.getHost(), httpURL.getPort());
connection = connectionManager.getConnection(host);
Log.d("MyLogger", "Before Opening Conn");
connection.open();
PostMethod postMethod = new PostMethod(baseURL);
postMethod.execute(new HttpState(), connection);
InputStream response = postMethod.getResponseBodyAsStream();
Log.d("MyLogger", response.toString());
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xmlReader = sp.getXMLReader();
ExampleHandler exampleHandler = new ExampleHandler();
xmlReader.setContentHandler(exampleHandler);
xmlReader.parse(new InputSource(response));
ParsedExampleDataSet parsedExampleDataSet =
exampleHandler.getParsedData();
tv.setText(parsedExampleDataSet.toString());
}catch(Exception e){
tv.setText("Error: " + e.getMessage());
Log.e(DEBUG_TAG, "ParsingXMLError", e);
}
this.setContentView(tv);
}
}
i got response from that Specified URL....
Thanks
JavaAndroid
On Oct 18, 9:37 pm, Ludwig <[EMAIL PROTECTED]> wrote:
> I think you can see from your stack that you do not even get near your XML
> parsing code.It is my impression that you fail open the Http connection to
> get the file.
> This might be because you have not given permission to your app to access
> the internet.
>
> Could you check that you have
> <uses-permission android:name="android.permission.INTERNET" />
> in your AndroidManifest.xml?
>
> Ludwig
>
> 2008/10/18 JavaAndroid <[EMAIL PROTECTED]>
>
>
>
>
>
> > Hi All,
> > I m just tried XML parsing in Android activity class...When i run the
> > application i m getting unKnown Error in Screen...
>
> > This is my Activity Class
> > 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.util.Log;
> > import android.widget.TextView;
>
> > public class ParsingXML extends Activity {
>
> > private final String DEBUG_TAG = "ParsingXML";
> > /** Called when the activity is first created. */
> > [EMAIL PROTECTED]
> > public void onCreate(Bundle savedInstanceState) {
> > super.onCreate(savedInstanceState);
> > TextView tv = new TextView(this);
> > try{
> > URL url = new URL("http://www.anddev.org/images/tut/basic/
> > parsingxml/example.xml<http://www.anddev.org/images/tut/basic/parsingxml/example.xml>
> > ");
>
> > SAXParserFactory spf = SAXParserFactory.newInstance();
> > SAXParser sp = spf.newSAXParser();
>
> > XMLReader xmlReader = sp.getXMLReader();
> > ExampleHandler exampleHandler = new ExampleHandler();
>
> > xmlReader.setContentHandler(exampleHandler);
> > xmlReader.parse(new InputSource(url.openStream()));
>
> > ParsedExampleDataSet parsedExampleDataSet =
> > exampleHandler.getParsedData();
>
> > tv.setText(parsedExampleDataSet.toString());
>
> > }catch(Exception e){
> > tv.setText("Error: " + e.getMessage());
> > Log.e(DEBUG_TAG, "ParsingXMLError", e);
> > }
> > this.setContentView(tv);
> > }
> > }
>
> > And my ExampleHandler class
>
> > is
> > import org.xml.sax.Attributes;
> > import org.xml.sax.SAXException;
> > import org.xml.sax.helpers.DefaultHandler;
>
> > public class ExampleHandler extends DefaultHandler{
>
> > private boolean in_outertag = false;
> > private boolean in_innertag = false;
> > private boolean in_mymytag = false;
>
> > private ParsedExampleDataSet myParsedExampleDataSet = new
> > ParsedExampleDataSet();
>
> > public ParsedExampleDataSet getParsedData(){
> > return this.myParsedExampleDataSet;
> > }
>
> > public void startDocument() throws SAXException{
> > this.myParsedExampleDataSet = new ParsedExampleDataSet();
> > }
>
> > public void endDocument(){
>
> > }
>
> > public void startElement(String nameSpaceURI, String localName,
> > String qName, Attributes atts) throws SAXException{
> > if(localName.equals("outertag")){
> > this.in_outertag = true;
> > }else if(localName.equals("innertag")){
> > this.in_innertag = true;
> > }else if(localName.equals("myTag")){
> > this.in_mymytag = true;
> > }else if(localName.equals("tagwithnumber")){
> > String attributeValue = atts.getValue("thenumber");
> > int attr = Integer.parseInt(attributeValue);
> > myParsedExampleDataSet.setExtractedInt(attr);
> > }
> > }
>
> > public void endElement(String namespaceURI, String
> > localName,
> > String qName) throws SAXException{
> > if(localName.equals("outertag")){
> > this.in_outertag = false;
> > }else if(localName.equals("innertag")){
> > this.in_innertag = false;
> > }else if(localName.equals("myTag")){
> > this.in_mymytag = true;
> > }else if(localName.equals("tagwithnumber")){
> > }
> > }
>
> > public void characters(char ch[],int start, int end){
> > if(this.in_mymytag){
>
> > myParsedExampleDataSet.setExtractedString(new
> > String(ch,start,end));
> > }
> > }
>
> > }
>
> > ParsedExampleDataSet class is this
> > public class ParsedExampleDataSet {
> > private String extractedString = null;
> > private int extractedInt = 0;
>
> > public void setExtractedString(String extractedString){
> > this.extractedString = extractedString;
> > }
>
> > public String getExtractedString(){
> > return this.extractedString;
> > }
>
> > public void setExtractedInt(int extractedInt){
> > this.extractedInt = extractedInt;
> > }
>
> > public int getExtractedInt(){
> > return this.extractedInt;
> > }
>
> > public String toString(){
> > return "ExtractedString = " + this.extractedString
> > + "\nExtractedInt = " + this.extractedInt;
> > }
>
> > }
>
> > when i run this application i m getting this error
>
> > 10-18 19:46:33.697: ERROR/OSNetworkSystem(203): unknown socket error
> > -1
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): ParsingXMLError
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): java.net.SocketException:
> > unknown error
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > org.apache.harmony.luni.platform.OSNetworkSystem.createSocketImpl(Native
> > Method)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.platform.OSNetworkSystem.createSocket(OSNetworkSystem.java:
> > 79)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > org.apache.harmony.luni.net.PlainSocketImpl2.create(PlainSocketImpl2.java:
> > 59)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > java.net.Socket.checkClosedAndCreate(Socket.java:763)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > java.net.Socket.connect(Socket.java:910)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:
> > 61)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager
> > $ConnectionPool.getHttpConnection(HttpConnectionManager.java:145)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager.getConnection(HttpConnectionM...
> > 67)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnecti...
> > 800)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:
> > 786)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
>
> > org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection....
> > 1030)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > java.net.URL.openStream(URL.java:664)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > com.dreamapp.parsingxml.activity.ParsingXML.onCreate(ParsingXML.java:
> > 34)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
> > 1122)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
> > 2103)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
> > 2156)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.app.ActivityThread.access$1800(ActivityThread.java:112)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.app.ActivityThread$H.handleMessage(ActivityThread.java:1580)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.os.Handler.dispatchMessage(Handler.java:88)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.os.Looper.loop(Looper.java:123)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > android.app.ActivityThread.main(ActivityThread.java:3742)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > java.lang.reflect.Method.invokeNative(Native Method)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > java.lang.reflect.Method.invoke(Method.java:515)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > com.android.internal.os.ZygoteInit
> > $MethodAndArgsCaller.run(ZygoteInit.java:739)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:497)
> > 10-18 19:46:33.757: ERROR/ParsingXML(203): at
> > dalvik.system.NativeStart.main(Native Method)
>
> > I m clueless...can somene figure out the error?
>
> > Thanks in Advance
>
> > Thanks
> > JavaAndroid- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---