Android :: Implementing Characters Method Using SAXParser On Android?

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?

Android :: Implementing Characters Method Using SAXParser on Android?


Android :: SAXParser Getting Stuck On Certain Characters

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

Android :: Adding To ArrayList In Characters Method Of DefaultHandler SAX

Jun 30, 2010

I'm assuming that your input XML is very simple and uses no element attributes, namespaces, or recursively nested elements. I recommend you use the following pattern, which I've used countless times:

Use a StringBuffer or StringBuilder to collect character data. Initialize it in startElement. In the characters method, do only the following: sb.append(ch, start, length). Please note that SAX parsers are not required to return the full contents of a text node in a single call to characters(). For efficiency, the parser may use an input buffer which may be smaller than a particular text node. A lot of people seem to miss this. Do the major processing in the endElement() method.

Do you use a debugger to step through your code?

View 10 Replies View Related

Android :: SAXParser With POST To URL

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

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 View Related

Android :: SAXParser And Malformed XML

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

Android :: SAXParser Fails On Some RSS Feeds

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

Android :: Youtube API - SAXParser Error

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

Android :: Using SAXParser To Get List Of Strings To Arraylist

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

Android :: SAXParser Invalid Token Exception And Attribute Value

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

Android :: Using Android SAXParser - One My XML Elements Is Breaking In Half

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

Android :: Method OnBackPressed() Of Type FirstGroup Must Override Superclass Method

Sep 7, 2010

I'm trying to override the onBackPressed() method of the ActivityGroup class:

public class MyClass extends ActivityGroup {

@Override
public void onBackPressed() {
// do something
return;
}

but I'm getting the error The method onBackPressed() of type MyClass must override a superclass method. I'm relatively new to Java, I've seen here that people do it and it works for them Why I'm getting this error? I'm writing an app for android 1.5, could the problem be here?

View 1 Replies View Related

Android :: Show Method Definition - Eclipse Recognizes Warning On Method

Nov 22, 2010

In Eclipse, when I mouse hover over a built-in method, it displays a method definition including stuff like what the method does, input objects, return objects etc. If I have a yellow line (warning) under the method I'm trying to use, I can't get the mouse-over to show the definition. If I try hitting F3, I get a "The Jar of this class file belongs to container "Android 1.6" How do I show the definition of the method I am using when there is a warning?

View 1 Replies View Related

Android :: Cannot Read Two Different Tags Using SAXParser In Android?

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

Android :: Method.getAnnotation( ) Or Method.isAnnotationPresent( ) Not Working

May 12, 2010

I am trying to use annotation - method.getAnnotation( ) or method.isAnnotationPresent( ) and it is not working. I am using eclipse emulator for 2.1 OS version with JDK 1.6. Following is information about what I did..................

View 4 Replies View Related

Android :: Implementing In App Purchases

Jan 7, 2010

It looks like Android won't natively support in-app purchases for a while, and when it does there might be a huge user base with devices that don't support them.What's the best way to implement iPhone-like (additional content or services) in-app purchases in Android using the Android Market if possible?

View 4 Replies View Related

Android :: Implementing Action Bar

Jun 24, 2010

I am working on creating an Action Bar like the one from the new Android UI Patterns and I am running into a bit of trouble. I have a ViewSwitcher with two layouts in it. When the user taps the search button I animate between the two layouts. The problem is that the layouts are different sizes and I can't figure out how to make them take up the same amount of space. Here's what I mean. p.s. forgive the bad art, they are just place holders ;)

View 1 Replies View Related

Android :: Implementing An OnClickListener?

Nov 9, 2010

I am trying to do something similar to that of the android lock screen pattern. I have a class that extends a view that I create multiple instances of. These appear on the screen all at once.

I need to be able to click on them individually and have each one turn green individually, however only one on touch listener is listening at once and it belongs to the last dot which appeared, so if I click anywhere on the screen the last appeared dot turns green no matter where I click.

Here is the code for my dot class:

CODE:......

In the code I called newdotdraw multiple times.

View 1 Replies View Related

Android :: Implementing L2CAP

Aug 13, 2009

With reference to the current work at : http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;...

Can you tell me how can I implement L2CAP Socket?

I need to do it ASAP for a university project. Hoping for optimistic reciprocation.

View 5 Replies View Related

Android :: Implementing Predictions For IME?

May 14, 2010

Kindly share information regarding how to implement predictions for input methods... I have a new keyboard layout for which I need to provide prediction/sugeestion functionality....

View 2 Replies View Related

Android :: Implementing A Framework ?

Nov 16, 2010

I have 2 apps which should both contain some similar activities.... Now I decided to write a new app, some kind of "framework", which contains these activities, to avoid to write the code twice. How can I use these activities in my other 2 apps ? Whats the common approach for doing this? Adding the "Framework app" to the build path of the two other apps won't work.....

View 3 Replies View Related

Android :: Implementing Gesture Recognition In An App

Jul 26, 2010

I am adding gesture recognition to my app. I have added the view as described in the Android Developers Gestures article but when it comes to adding:

CODEE:..........

where do I put this in my code, do I have to create a new class for it, or can I have it in an inner class, or does it not need a class at all?! I have a set up similar to Lunar Lander which comprises of two files, one of which is a thread that handles pretty much all the physics and drawing of the game. The other file begins the thread and saveInstanceState method. Furthermore, what type is mLibrary?! I cannot find out anywhere! I imagine I will put the OnGesturePerformed method in my thread as this is where I handle all keyUp and Down events.

View 1 Replies View Related

Android :: Best Approach To Implementing Polling

Jul 12, 2010

I am required to work on an application which is be deployed on devices running Android 1.5. The application is supposed to maintain a connection with a server and regularly poll it for new data. The server will notify the client of new data following which the client will connect to the server and download the data.I know that ideally a push based approach will be more conducive here given that we are to run this on a mobile platform. Also, from Android2.2 there is going to be support for C2DM(Cloud to Cloud device Messaging) but as already mentioned this application is for devices running Android1.5.Implementation: I was thinking of using AlarmManager which would Broadcast Intents periodically(poll interval), The Broadcast receiver will then try to connect to the remote server and make data changed check. If the server has an update, the thread will connect to the remote server and download the data from the server.

Problem and Issues: 1. Is this the right way to approach the problem? 2. Is AlarmManager reliable? Would it remember Alarms after a device boot? (I think it does) 3. How do I ensure that battery usage is kept at minimum.(I have heard something about using "keep-alive" to sustain the session for longer time..what is this legend?) 4. What are other things that I need to consider? I am sure I must be missing lots of things here.

View 8 Replies View Related

Android :: Designing And Implementing App Idea

Jun 27, 2010

Does anyone have any good references for designing and implementing an idea I have for an android application. My idea is for an application that stores information and reviews about a specific location and presents this information to user.I have gone through all the tutorials and have been reading up on anything and everything about android. Now I am ready to challenge myself with my first app.

View 4 Replies View Related

Android :: Can't Find Certain Implementing Classes

Mar 19, 2010

I am looking for the implementation of the IAlarmManager.I am interested in the scheduling done by the AlarmManager.setInexactRepeating method and so I started looking for the implementation but I haven't been able to find anything.Internally to AlarmManager, I can see that the actual work is being done by an android.app.IAlarmManager interface.After googling around for a bit there seems to reference to an implementing class called android.app.IAlarmManager.Stub but that is as far I get.I am working with Android 1.6.

View 1 Replies View Related

Android :: Implementing Customized Drawable

Jun 3, 2010

I was trying to get hold of 2D graphics in Android.As a example i want to implement a custom drawable and show it in my Activity But when i run the app i see no rectangle on the activity, can anyone help me out? Where am i going wrong?

View 2 Replies View Related

Android :: Implementing Application With Database

Aug 4, 2010

I need to know how to create simple android application by sqlite database, how can i view the sqlite database and to view the tables has like other mysql server,Let me help to create simple application with database.where i can find the database.

View 2 Replies View Related

Android :: Implementing VoIP Program

Nov 14, 2010

I have some design questions that I want to discuss with people interested in helping me. I am planning to develop a simple VoIP program that allows two Android phones in the same network to use VoIP. My goal is simply to capture sound, send the data with UDP, receive UDP data and play sound.My current design is to have 2 threads: one captures the microphone and sends the data; the other one receives bytes and plays them.I was starting to implement that using MediaPlayer and MediaRecorder. The issue that came up is how do I record and play sound? By that, I would like to know if I need to use a file, although that seems slow, or if there is anyway to have the recording automatically sent to my UDP socket please?Basically, I wonder if I have to record to a file, then to be able to play it, or if I could just pass a socket (for recording and playing).

View 1 Replies View Related

Android :: Best Practice For Implementing Watchdog

Sep 17, 2009

I'm writing an application where real-time knowledge of the GPS state is critical to convey to the user. I request GPS updates at 1000 ms intervals -- when I haven't received another update 1500 ms past the most recent update, I want to display a yellow icon, and 5000 ms after the most recent update I want to display a red icon. Currently, I'm doing it like this: private CountDownTimer gpstimeout; public void onLocationChanged(Location location) { if (gpstimeout != null) gpstimeout.cancel(); gpstimeout = new CountDownTimer(5000, 1500) { public void onTick(long m) { setYellow(); } public void onFinish() { setRed(); } }; gpstimeout.start(); }

View 3 Replies View Related

Android :: Error On Implementing OnClickListener ?

Mar 30, 2010

I am writing an application which one of the activity has a button and use this button to switch to another activity when clicking that.

The main activity implements the onCreate and OnClickListener as follows:

CODE:...........

When I try to run this program on my emulator, after hitting the button, the program stopped unexpectedly. I follow the instructions of implementing OnClickListener firmly so I don't know what's the problem in my implementation.

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved