Note that there are some explanatory texts on larger screens.

plurals
  1. POLWUIT and kXML Parser
    primarykey
    data
    text
    <pre><code>Uncaught exception: java.lang.Error: Static initializer: java.lang.NullPointerException, 0 - java.lang.Class.throwError(), bci=57 - java.lang.Class.initialize(), bci=221 - com.sun.lwuit.Component.&lt;init&gt;(), bci=5 - com.sun.lwuit.Container.&lt;init&gt;(), bci=1 - com.sun.lwuit.Form.&lt;init&gt;(), bci=8 - com.sun.lwuit.Form.&lt;init&gt;(), bci=1 - com.midlet.RSSMidlet.&lt;init&gt;(), bci=11 - java.lang.Class.newInstance(), bci=0 - com.sun.midp.main.CldcMIDletLoader.newInstance(), bci=46 - com.sun.midp.midlet.MIDletStateHandler.createMIDlet(), bci=66 - com.sun.midp.midlet.MIDletStateHandler.createAndRegisterMIDlet(), bci=17 - com.sun.midp.midlet.MIDletStateHandler.startMIDlet(), bci=9 - com.sun.midp.midlet.MIDletStateHandler.startMIDlet(), bci=4 - com.sun.midp.appmanager.SelectorBase.run(), bci=33 - java.lang.Thread.run(), bci=11 </code></pre> <p><strong>Coding:</strong></p> <pre><code>package com.midlet; import java.io.IOException; import java.io.InputStreamReader; import java.util.Vector; import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; import org.kxml2.io.KXmlParser; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import com.sun.lwuit.Command; import com.sun.lwuit.Display; import com.sun.lwuit.Form; import com.sun.lwuit.List; import com.sun.lwuit.animations.Transition3D; import com.sun.lwuit.events.ActionEvent; import com.sun.lwuit.events.ActionListener; //import com.sun.lwuit.list.ListModel; import com.sun.lwuit.layouts.BorderLayout; import com.sun.lwuit.plaf.UIManager; import com.sun.lwuit.util.Resources; public class RSSMidlet extends MIDlet implements ActionListener{ public Vector feedVector; public String rssFeed; private Command cmdSelect; private Command cmdExit; private Form form1 = new Form("Feeds List"); // private Form form2 = new Form("Feed Description"); // private Vector feed_Title; private List resultList; // private List feedTitle; public RSSModel model = new RSSModel(); class ReadXML extends Thread{ public void run(){ try{ rssFeed = "http://www.rottentomatoes.com/syndication/rss/top_news.xml"; HttpConnection httpConnection = (HttpConnection) Connector.open(rssFeed); KXmlParser parser = new KXmlParser(); parser.setInput(new InputStreamReader(httpConnection.openInputStream())); parser.nextTag(); parser.require(XmlPullParser.START_TAG, null, null); while(parser.nextTag() != XmlPullParser.END_TAG){ parser.nextTag(); parser.require(XmlPullParser.START_TAG, null, "channel"); readXMLData(parser); parser.require(XmlPullParser.END_TAG, null, "channel"); } parser.require(XmlPullParser.END_TAG, null, "rss"); parser.next(); parser.require(XmlPullParser.END_DOCUMENT, null, null); }catch(Exception e){ } } } public RSSMidlet() { // TODO Auto-generated constructor stub Display.init(this); Resources r; try{ r = Resources.open("/LWUITtheme.res"); UIManager.getInstance().setThemeProps(r.getTheme("LWUITDefault")); }catch(IOException e){ //e.printStackTrace(); } resultList = new List(); for(int i=0; i&lt;feedVector.size();i++){ model = (RSSModel) feedVector.elementAt(i); resultList.addItem(model.getTitle().toString()); } form1.addComponent(BorderLayout.CENTER,resultList); form1.addCommand(cmdExit); form1.addCommand(cmdSelect); form1.setScrollable(true); //form1.addCommandListener((ActionListener) this); form1.setTransitionInAnimator(Transition3D.createRotation(250, true)); form1.show(); } protected void destroyApp(boolean unconditional) throws MIDletStateChangeException { // TODO Auto-generated method stub } protected void pauseApp() { // TODO Auto-generated method stub } protected void startApp() throws MIDletStateChangeException { // TODO Auto-generated method stub new ReadXML().start(); } public void readXMLData(KXmlParser parser) throws IOException, XmlPullParserException{ while(!"item".equals(parser.getName()) ){ /** Check if document doesn't include any item tags */ if( parser.next() == XmlPullParser.END_DOCUMENT ) throw new IOException("No items in RSS feed!"); } parser.require(XmlPullParser.START_TAG, null, "item"); while(parser.nextTag() != XmlPullParser.END_TAG){ parser.require(XmlPullParser.START_TAG, null, null); String name = parser.getName(); String text = parser.nextText(); //System.out.println ("&lt;"+name+"&gt;"+text); if(name.equals("pubDate")){ model.setPubDate(text); }else if(name.equals("title")){ model.setTitle(text); }else if(name.equals("link")){ model.setLink(text); }else if(name.equals("description")){ model.setDescription(text); } parser.require(XmlPullParser.END_TAG, null, name); } feedVector.addElement(model); parser.require(XmlPullParser.END_TAG, null, "item"); } public void actionPerformed(ActionEvent evt) { // TODO Auto-generated method stub if(evt.getCommand() == cmdExit){ notifyDestroyed(); }else if(evt.getCommand() == cmdSelect){ } } } </code></pre> <p>This is my codes. I can't seem to get LWUIT running with kXML. There is a forum post that says that I need to initialize graphics objects after the <code>Display.init(this)</code> line. But where that line should lie? Please assist me... </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload