J'ai trouvé un exemple d'application de la base de connaissances Blackberry.L'application d'analyse XML Blackberry ne fonctionnait pas
A partir de cette application, j'ai mis cette application exemple sur mon plugin Eclipse, et le code est le suivant:
import javax.microedition.io.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.*;
import net.rim.device.api.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
class XML_Parsing_Sample extends UiApplication {
// creating a member variable for the MainScreen
MainScreen _screen = new MainScreen();
// string variables to store the values of the XML document
String _node, _element;
Connection _connectionthread;
public static void main(String arg[]) {
XML_Parsing_Sample application = new XML_Parsing_Sample();
// create a new instance of the application
// and start the application on the event thread
application.enterEventDispatcher();
}
public XML_Parsing_Sample() {
_screen.setTitle("XML Parsing");// setting title
_screen.add(new RichTextField("Requesting....."));
_screen.add(new SeparatorField());
pushScreen(_screen); // creating a screen
// creating a connection thread to run in the background
_connectionthread = new Connection();
_connectionthread.start();// starting the thread operation
}
public void updateField(String node, String element) {
// receiving the parsed node and its value from the thread
// and updating it here
// so it can be displayed on the screen
String title = "My App";
_screen.add(new RichTextField(node + " : " + element));
if (node.equals(title)) {
_screen.add(new SeparatorField());
}
}
private class Connection extends Thread {
public Connection() {
super();
}
public void run() {
// define variables later used for parsing
Document doc;
StreamConnection conn;
try {
// providing the location of the XML file,
// your address might be different
conn = (StreamConnection) Connector
.open("http://www.sufalamtech.com/demo/moviewebservice/Test.xml");
// next few lines creates variables to open a
// stream, parse it, collect XML data and
// extract the data which is required.
// In this case they are elements,
// node and the values of an element
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder docBuilder = docBuilderFactory
.newDocumentBuilder();
docBuilder.isValidating();
doc = docBuilder.parse(conn.openInputStream());
doc.getDocumentElement().normalize();
NodeList list = doc.getElementsByTagName("*");
_node = new String();
_element = new String();
// this "for" loop is used to parse through the
// XML document and extract all elements and their
// value, so they can be displayed on the device
for (int i = 0; i < list.getLength(); i++) {
Node value = list.item(i).getChildNodes().item(0);
_node = list.item(i).getNodeName();
_element = value.getNodeValue();
updateField(_node, _element);
}// end for
}// end try
// will catch any exception thrown by the XML parser
catch (Exception e) {
Dialog.alert("exception = " + e);
}
}// end connection function
}// end connection class
}// end XML_Parsing_Sample
Mais quand je suis en cours d'exécution de cette application, le simulateur me montrant un écran vide avec une étiquette Demande ...
Quelqu'un m'aider pour ça?
Merci à l'avance ...
Avez-vous essayé le mode de débogage? Avez-vous ouvert MDS avec votre simulateur dans la configuration d'exécution? –
Salut, Michael B. Merci pour la réponse. Ça marche pour moi !! Mais encore je voudrais savoir comment puis-je déboguer mon application bb en mettant un peu de breakpoint dans le plug-in eclipse? J'ai essayé de mettre un point d'arrêt sur une ligne, puis je sélectionne Exécuter -> Déboguer ... Mais toujours cette option exécute l'application, ne passe pas en mode débogage .. Plz m'aider pour cela? – Nirmal