Erro na API .JAR que estou utilizando no projeto

0 respostas
D

E ai galera blz?!?! Estou há um bom tempo tentado criar uma MIDlet que leia um arquivo XML usando a API kxml2-min-2.2.2.jar (http://kxml.sourceforge.net). Estou tentando fazer um exemplo do site Java Magazine (http://www.devmedia.com.br/articles/viewcomp.asp?comp=2099&hl=).
Estou desenvolvendo o aplicativo no Eclipse. Acho que não estou sabendo usar a API quando eu tento executar o código recebo a seguinte mensagem:

java.lang.NoClassDefFoundError: XMLReader/KXmlParser: org/xmlpull/v1/XmlPullParser 
	at XMLReader.XMLParserMidlet.parser(+0)
	at XMLReader.XMLParserMidlet.startApp(+26)
	at javax.microedition.midlet.MIDletProxy.startApp(+7)
	at com.sun.midp.midlet.Scheduler.schedule(+270)
	at com.sun.midp.main.Main.runLocalClass(+28)
	at com.sun.midp.main.Main.main(+116)

Para utilizar a API kxml2-min-2.2.2.jar estou fazendo o seguinte: Crio um novo projeto > Seleciono o WTK (group) e o tipo de aparelho (device). Em seguida antes de finalizar clico na aba Libraries em seguida Add External JARs…. Está correto?

Será que alguém poderia me dizer como faço para usar a API corretamente. O código XML e da MIDlet segue abaixo.

vlw galera!!

código XML

<?xml version="1.0" encoding="UTF-8"?>
<agenda>
   <pessoa>
	<nome>Tiago</nome>
	<fone>tel</fone>
   </pessoa>
   <pessoa>
	<nome>Fernanda</nome>
	<fone>tel1</fone>
   </pessoa>
</agenda>

Código da MIDlet

package XMLReader;

import java.io.InputStream;
import java.io.InputStreamReader;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import org.xmlpull.v1.XmlPullParser; 

public class XMLParserMidlet extends MIDlet { 

      Form form = new Form("Pessoas"); 
      protected void startApp() throws MIDletStateChangeException {
            InputStream in = getClass().getResourceAsStream("c:\\pessoas.xml"); 

            try {
                  Display.getDisplay(this).setCurrent(form);
                  parser(in);

            } catch (Exception e) {
                  e.printStackTrace();
            }
      }
      
      private void parser(InputStream in) throws Exception {
    	  //Inicia o XMLParser
            KXmlParser parser = new KXmlParser();
            parser.setInput(new InputStreamReader(in));
            parser.nextTag();

            //Posiciona na tag <agenda>
            parser.require(XmlPullParser.START_TAG, null, "agenda"); 

            //Enquanto é diferente de END_TAG
          while (parser.nextTag () != XmlPullParser.END_TAG)
          {
        	  //Posiciona na tag <pessoa>
               parser.require(XmlPullParser.START_TAG, null, "pessoa");

               parserPessoa(parser);

               form.append("\n");

            parser.require(XmlPullParser.END_TAG, null, "pessoa");
         }

          parser.require(XmlPullParser.END_TAG, null, "agenda");
          parser.next();
          parser.require(XmlPullParser.END_DOCUMENT, null, null);
      }
      
      private void parserPessoa(KXmlParser parser) throws Exception {
            //Enquanto é diferente de </pessoa>
    	  while (parser.nextTag() != XmlPullParser.END_TAG) {

                  //Posiciona em uma tag "START". Ex: <nome> ou <fone>
                  parser.require(XmlPullParser.START_TAG, null, null);

                  String name = parser.getName();
                  String text = parser.nextText();

                  System.out.println("Tag: " + name + " -> " + text); 

                  //Adiciona o texto no Form
                  form.append(text);

                  //Posiciona no fim da tag </nome> ou </fone>
                  parser.require(XmlPullParser.END_TAG, null, name);
            }
      }

	public XMLParserMidlet() {
		// TODO Auto-generated constructor stub
	}

	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub

	}

	protected void pauseApp() {
		// TODO Auto-generated method stub

	}
}
Criado 28 de setembro de 2007
Respostas 0
Participantes 1