Android :: How To Pause SAXParser?
Aug 27, 2010
I'm using SAXParser to parse large xml document from the net. And sometimes I need to pause SAXParser. I know how to stop parser by using SAXException, but how I can paused it? May be can I stop parser and then set up it to pass already parsed tags?
View 2 Replies
Jan 22, 2009
I have an API. I'm using that requires me to POST instead of use GET to submit my credentials before receiving back my XML response. I've parsed a bunch of various XML services like this, but this is the first time I've run across having to post to the URL. Basically they want a username and password parameter submitted as a post to the URL before the XML is fed back. Does anyone have a working example, or maybe able to point me in the right direction?
View 3 Replies
View Related
Aug 14, 2010
I am using a saxparser to read RSS XML from the web and populate listviews. Everything works fine until I come across malformed XML, usually encoding related, and my reader falls over. I have changed it so that it gets as many items parsed and populated before falling over (by default if it finds a malformed XML, then it will give up and return an empty collection). The problem is, the next time I try and view that feed (or any other feed), it still has the contents after the malformed bit hanging around.
For example, the first time it now shows all the items upto the malformed item, if I refresh, it will only show items after, refresh again, it will show items upto and so forth. The weird thing is, I create a new instances of everything every time. So I don't understand why stuff is handing around. It's like there is some read pointer, or connection that needs to be closed and reset, but I can't for the life of me work out what or where!
My GetFeed method:
private RSSFeed getFeed(String urlToRssFeed) {
SAXParserFactory factory;
SAXParser parser; XMLReader xmlreader;
URL url; InputSource is;
try { url = new URL(urlToRssFeed);
factory = SAXParserFactory.newInstance();
factory.setValidating(false);
parser = factory.newSAXParser();
xmlreader = parser.getXMLReader();
xmlreader.setContentHandler(m_FeedHandler);
is = new InputSource(url.openStream());
xmlreader.parse(is); m_ErrorCode = NOERROR;
} catch (SAXParseException e) { e.printStackTrace();
m_ErrorCode = XMLFORMAT;
} catch (Exception e) { e.printStackTrace();
m_ErrorCode = CONNECTION;
} finally { is = null;
url = null; parser = null; factory = null;
return m_FeedHandler.getFeed();
//May be complete, partial or empty.
} }
View 2 Replies
View Related
Feb 28, 2009
I'm using the SAX parser to read some RSS feeds and have found a problem. Some feeds, for example CNN Money Top Stories, have embedded some characters in their content, i.e. the copyright symbol. Well, that's not valid XML and the SAX Parser fails with an exception "invalid token". The only help I have seen given is to fix the XML at the source and that's not an option obviously. So, I can think of 2 options and they both stink:
(a) read the content first, scrub it, and then pass it to the parser.
(b) Use DOM instead of SAX.
What I *want* to do is make the parser a little more forgiving and just accept or discard/ignore the bad text. I'm not have any luck with setErrorHandler. My error handler does not get called.
View 7 Replies
View Related
Jul 22, 2010
I have been trying to use the youtube APIs on the Android Platform (version 1.6) and have been stuck with the SAXParser whenever I send out a query from the following line of code:
VideoFeed videoFeed = service.query(query, VideoFeed.class);
I initially had errors with the SAXParser for which I applied the patch suggested here:
https://code.google.com/p/android/issues/detail?id=9493
After this, the previous error that I had which called an ExternalParametersEntities exception was resolved but I now get a Verify Error:
com.google.gdata.util.common.xml.parsing.SecureGenericXMLFactory $SecureSAXParserFactory
Would anyone know how to get around this error? Is there any other way to use the youtube API query on an Android platform?
View 3 Replies
View Related
Jan 26, 2009
I'm using a SAXParser to parse an XML document and its getting stuck on certain symbols like the 'trademark' symbol and I think even double- quotes". I really don't need these characters so it would be fine if the parser just skips over these. Instead it throws an exception and quits parsing the document. What can I do?
View 7 Replies
View Related
Jun 21, 2010
I'm trying to parse a web service response using SAXParser and get certain values, store them into an arraylist, then display them in a listview. Example XML being returned from web service:
<ArrayOfStrings>
<string>value</string>
<string>value</string>
<string>value</string>
</ArrayOfStrings>
Here is my SAXHandler class:
public class SAXHandler extends DefaultHandler {
private boolean outertag = false;
private boolean mytag = false;
ArrayList<String> alist;
public ArrayList<String> getList(){
return this.alist;
} @Override
public void startDocument() throws SAXException {
} @Override
public void endDocument() throws SAXException{
} //@Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
if (localName.equals("ArrayOfString")){ this.outertag=true;
}else if (localName.equals("string")){ this.mytag=true;
} }
@Override
public void characters(char ch[], int start, int length) {
if (this.mytag){ String s = new String(ch, start, length);
alist.add(s);
} }
@Override public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
if (localName.equals("ArrayOfString")){ this.outertag=false;
}else if (localName.equals("string")){ this.mytag=false;
} } }
And here's my method calling and returing my web service:
try{ URL url = new URL("xxxxxxx");
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
SAXHandler SAXHandler = new SAXHandler();
xr.setContentHandler(SAXHandler);
xr.parse(new InputSource(url.openStream()));
ArrayList<String> stateList = SAXHandler.getList();
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stateList);
RESTlist.setAdapter(aa);
I keep getting an exception and I don't know why. Can anyone give me a hand?
Logcat:
06-21 20:10:47.901: ERROR/AndroidRuntime(472): Uncaught handler: thread main exiting due to uncaught exception
06-21 20:10:47.950: ERROR/AndroidRuntime(472): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pa.passammain/com.pa.passammain.RESTtest}: java.lang.NullPointerException: println needs a message
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.os.Looper.loop(Looper.java:123)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at java.lang.reflect.Method.invoke(Method.java:521)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at dalvik.system.NativeStart.main(Native Method)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): Caused by: java.lang.NullPointerException: println needs a message
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.util.Log.println(Native Method)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.util.Log.e(Log.java:208)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at com.pa.passammain.RESTtest.onCreate(RESTtest.java:82)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-21 20:10:47.950: ERROR/AndroidRuntime(472): ... 11 more
After editing how my error is displayed in my try/catch i'm not longer getting an exception, but just a blank screen. Here is what my logcat is displaying:
06-21 20:22:00.330: WARN/System.err(542): java.lang.NullPointerException
06-21 20:22:00.352: WARN/System.err(542): at com.pa.passammain.SAXHandler.characters(SAXHandler.java:45)
06-21 20:22:00.352: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.text(ExpatParser.java:166)
06-21 20:22:00.362: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.append(Native Method)
06-21 20:22:00.371: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:506)
06-21 20:22:00.371: WARN/System.err(542): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:467)
06-21 20:22:00.371: WARN/System.err(542): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:329)
06-21 20:22:00.381: WARN/System.err(542): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:286)
06-21 20:22:00.381: WARN/System.err(542): at com.pa.passammain.RESTtest.onCreate(RESTtest.java:71)
06-21 20:22:00.391: WARN/System.err(542): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-21 20:22:00.391: WARN/System.err(542): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-21 20:22:00.401: WARN/System.err(542): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-21 20:22:00.401: WARN/System.err(542): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-21 20:22:00.410: WARN/System.err(542): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-21 20:22:00.410: WARN/System.err(542): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 20:22:00.420: WARN/System.err(542): at android.os.Looper.loop(Looper.java:123)
06-21 20:22:00.420: WARN/System.err(542): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-21 20:22:00.420: WARN/System.err(542): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 20:22:00.430: WARN/System.err(542): at java.lang.reflect.Method.invoke(Method.java:521)
06-21 20:22:00.430: WARN/System.err(542): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-21 20:22:00.442: WARN/System.err(542): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-21 20:22:00.442: WARN/System.err(542): at dalvik.system.NativeStart.main(Native Method)
View 1 Replies
View Related
Jan 1, 2010
I am using SAXParser to parse an html page (any better solution?) and have this exception:
W/System.err( 1358): org.apache.harmony.xml.ExpatParser $ParseException: At line 1, column 59: not well-formed (invalid token)
I have reduced the page to this:
<div id="submenu"><a href="/compte/console.pl? id=382730&idt=1cf6b94aa1a4cf84"></a></div>
And what causes the exception is the '&' inside the href attribute value.
Here is a minimalist test code:
DefaultHandler emptySaxHandler = new DefaultHandler() {};
String xmlstr = "<div id="submenu"><a href="/compte/console.pl?id=382730&idt=1cf6b94aa1a4cf84"></a></div>";
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(new ByteArrayInputStream(xmlstr.getBytes ()),emptySaxHandler);
Is this a normal behaviour or kind of bug? If normal, what should do to preprocess the string before parsing?
View 3 Replies
View Related
Mar 30, 2010
Im using the SAXParser object do parse the actual XML.
This is normally done by passing a URL to the XMLReader.Parse method. Because my XML is coming from a POST request to a webservice, I am saving that result as a String and then employing StringReader / InputSource to feed this string back to the XMLReader.Parse method.
However, something strange is happening at the 2001st character of the XMLstring. The 'characters' method of the document handler is being called TWICE in between the startElement and endElement methods, effectively breaking my string (in this case a project title) into two pieces. Because I am instantiating objects in my characters method, I am getting two objects instead of one.
This line, about 2000 chars into the string fires 'characters' two times, breaking between "Lower" and "Level"
<title>SUMC-BOOKSTORE, LOWER LEVEL RENOVATIONS</title>
When I bypass the StringReader / InputSource workaround and feed a flat XML file to XMLReader.Parse, it works absolutely fine.
Something about StringReader and or InputSource is somehow screwing this up.
Here is my method that takes and XML string and parses is through the SAXParser.
CODE:.............
How to not have 'characters' firing off twice when I get to this point in the XML String.
Or, show me how to use a POST request and still pass off the URL to the Parse function.
View 3 Replies
View Related
Feb 8, 2010
I am parsing xml using the SAXParser and want to know if this is the right way to implement the characters method. Assume there's a class-level String variable named elementValue and it is initialized to "" in the startElement method.
Here is the characters method:
@Override
public void characters(char[] ch, int start, int length) {
String charsToAppend = new String(ch, start, length);
elementValue = elementValue + charsToAppend;
}
Is it correct that we need to append to the value we have so far and is the append being done correctly? Also, why does the characters method give the start index? Won't it be zero every time?
View 2 Replies
View Related
Sep 23, 2010
I am using SAXParser to parse an XML document having three different tags. But in the result I get the value of only "one tag and not Other two tags. Can someone explain?
My XML is :
<outertag>
<innertag>hello</innertag>
<othertag>good morning</othertag>
<thirdtag Attribute="its a pleasant day"/>
</outertag>
View 1 Replies
View Related
Oct 7, 2010
I am seeing an issue where when I hit the "back" button, I get the onPause call, but it isn't followed by onStop and on Destroy. On most phones, I see this, but on one particular phone (Droid-X),
View 7 Replies
View Related
Jan 13, 2010
Is it possible to use bundle and save the data in OnPause() lifecycle method? The scenario is i have 2 edit text and have entered some data i want to retain the data when the activity is killed and started again. his can be achieved using onSaveInstanceState() but as documentation says, this method is not a lifecycle method and hence the callback is not guaranteed. So i wanted to know if there is a way to save it using Bundle in onPause().
View 5 Replies
View Related
Feb 25, 2010
I have a loop which draw a bitmap for(int i=0;i<10;i++){
Here I draw a bitmap which will move to right a little bit in each loop.
I want a pause here so that an animation can be made.
View 2 Replies
View Related
Feb 5, 2010
I have an application that plays music. I want the application to get notified when the user plays a YouTube video so that I can pause the music in my own app. Is there a listener I can setup or a Broadcast receiver that I can setup to get notified of when the video is played.
View 3 Replies
View Related
Feb 24, 2010
I keep hearing that last.fm is better than Pandora, so I'm trying it out. But no pause button? Is this only for people who live in caves?
View 6 Replies
View Related
Nov 30, 2009
I see no means by which my activity can pop itself off the activity stack to return the user to the one he was using before it was invoked. Is there one? My purpose is that my app has some data structures built from data provider queries that take 5-15 seconds to assemble and I don't want a lot of latency if it is used in a few one-shot purposes in rapid succession. I'm more than willing to let the system ask my app to die, but I'd like to keep warmed and ready otherwise.
View 4 Replies
View Related
Jun 15, 2010
How can i simulate pressing the HOME key to put my application in pause mode? Currently i call finish() but it destroys the application.
View 4 Replies
View Related
Jan 20, 2009
How to pause and resume the activity?
View 3 Replies
View Related
Feb 10, 2010
How do I do a simple sleep() in Android? e.g. in Perl:
sleep 5;
to sleep for 5 seconds. I have a program that continues scanning wifi until it finds a certain router then plays a tune once found. All works fine, but it scans in 1.6 EXTREMELY fast, where as on 2.0 it scans about once per second. I also made a stop button that does:
mainWifi.setWifiEnabled(false);
But this causes a force close. ? actually every application I have made so far except hello world just gives me a force close. I have checked my permissions in the manifest etc.? I have a soundboard app that cannot play more than 7 sounds before it force closes? why?
Is it my phones hardware?
View 5 Replies
View Related
Sep 26, 2010
I have String Array with some strings in it [UP,L,R,R...] and I have some sounds (audio_up.mp3, audio_l.mp3 and so on). I want go through all the strings in the array and play sounds accordingly with pause in between (let's say 1 second).
CODE:........................
View 4 Replies
View Related
Apr 27, 2009
I am getting reports that the in the HTC Magic the character that represents the pause in a dial string is different than in the Google build of cupcake. In the SDK 1.5 pre-release, the pause is given by a ','. Apparently, in the HTC magic, the pause is given by a 'p'. Unfortunately, I don't currently have the means to test this. Does anyone know if the PhoneNumberUtils.PAUSE member in the HTC magic build reflects this change? Have any other functions in PhoneNumberUtils changed in order to support this?
View 3 Replies
View Related
Aug 19, 2010
I need a Music player that allows you to pause an MP3 in the background and then go back to it. I have a long MP3 file (3hrs) that I need to pause during the day and switch to a different app and then back to the music player. Everytime I hit the Home button it stops the player.
Are there players that allow you to pause and go to another app?
View 14 Replies
View Related
Aug 28, 2009
I am learning about OpenGL and managed to write a prototype game using VBO buffers. If I start the application from Eclipse or adb, everything works fine until I press the back or <Home> button. If I restart the application either by a long press on <HOME> and selecting my program or by restarting it from the applications, I sometimes get a black screen and the LogCat shows this error:
CODE:...............
I am aware that it is probably a wrong setting in my program's flow, but I am not fluently enough with OpenGL.
View 10 Replies
View Related
May 11, 2010
I am having an issue with a looping audio file using MediaPlayer. I am developing a realtime game and have a 100K MP3 file I want to loop as background music. The size of the file means I can't pre-load into memory (using SoundPool) so I am using the MediaPlayer to stream the data.
All works fine, however if I set the stream to loop (MediaPlayer#setLooping(true)) when the stream gets to the end and MediaPlayer loops, I get a distinct pause in gameplay. Everything seems to hang for a good chunk of time (~100ms) presumably while MediaPlayer re-seeks to the start of the audio file, and this is killing my framerate and making the game unplayable at these points.
There doesn't seem to be a way to configure any memory buffers etc on the MediaPlayer, so I'm wondering if I am using the wrong approach?
Any other ways to run continuous background music?
View 3 Replies
View Related
Dec 15, 2009
I get the following error
CODE:...
When trying to execute this code in a service:
CODE:..........
When the service is first called and no MediaPlayer-object exists, the stream is started correctly. But when the onStart()-method is called again (with the player streaming) I get the above error code. I can't find any information about this error code, so I turn to you for help. Replacing mp.pause() with mp.stop() makes it work. Could it be that the stream does not support pausing? It's an online radio stream (RTSP) in the SDP format.
View 1 Replies
View Related
Aug 1, 2010
I have created an application that read messages with voice. I would like to pause any running media player when a message arrives in order to make the voice more clear. Is there any intent that could achieve this aim? I have noticed that google navigator, for example, is able to pause media player (and other music app like pandora).
View 1 Replies
View Related
Nov 22, 2010
I have an app that crops faces - something the app can do in a nanosecond, but I want the user to think it takes a bit longer. So in a case on a button click.
Here is what I have:
CODE:........
The dialog shows fine, and the faces crop fine too. The problem is - when the user runs the app, the 2 happen simultaneously on the screen.
Is there a way to make it so the dialog appears, 3 seconds elapse on screen and then the cropFaces is run? That way it will look like it cropped the faces in a few seconds, and then the new page appears.
View 1 Replies
View Related
Mar 19, 2010
I have an AsyncTask that acts as a countdown timer for my game. When it completes the countdown it displays the out of time end screen and it also updates the timer displayed on the screen. Everything works fine, except I need to be able to pause and resume this when the pause button in the game is pressed.
If I cancel it and try to re-execute it, it crashes with an IllegalStateException.
If I cancel it and instantiate a new AsyncTask in its place the old one begins to run again and the new one runs at the same time.
Is there a way to cancel/pause the timer and restart it using AsyncTasks or is there a different way I should be going about doing this?
View 3 Replies
View Related
Sep 1, 2010
I am Intercepting outgoing call following is my code of outgoing call interception in android , is used for pause, but it is not working? how can I send DTMF input or use pause, wait and symbol? I am stuck in it any help will be appreciated
View 1 Replies
View Related