BlackBerry Travailler avec XML

XML est l’un des formats d’échange de données le plus utilisé sur le Web. Avec la prolifération des smartphones, l'analyse et l'affichage de documents XML sur des appareils mobiles sont devenus une exigence courante. Dans cet article, je vais vous apprendre à analyser un document XML sur BlackBerry et à afficher un document XML sur BlackBerry..


Installation du plug-in BlackBerry Eclipse

Tout d’abord, nous devons installer BlackBerry Java Plug-in pour Eclipse, qui peut être installé avec l’une des deux méthodes suivantes..

  1. À partir du site BlackBerry Java Plugin Update
  2. À partir du fichier plugin .exe BlackBerry_JDE_PluginFull_1.5.0_helios.exe.

Nous allons discuter de chacune de ces méthodes dans cette section. Pour installer à partir du site de mise à jour, sélectionnez Aide> Installer un nouveau logiciel dans Eclipse Java IDE. Dans la fenêtre d'installation, cliquez sur Ajouter sous Logiciel disponible. dans le Ajouter un référentiel fenêtre, spécifiez le prénom comme Site de mise à jour du plug-in BlackBerry Java et l'emplacement comme http://www.blackberry.com/go/eclipseUpdate/3.6/java comme indiqué dans l'illustration suivante.


Spécification de l'emplacement du site de mise à jour de BlackBerry Plugin

Le site Web de mise à jour est ajouté à Logiciel disponible et le logiciel disponible pour le site Web est répertorié, y compris les différentes versions. Sélectionner Catégorie de plug-in BlackBerry Java version 7.0.0.28. Cliquer sur Suivant.


Sélection du logiciel à installer

dans le Détails d'installation section, la liste de BlackBerry Java SD 7.0.0.28 est répertoriée. Cliquer sur Suivant.


Détails de l'installation du plugin BlackBerry

Acceptez le contrat de licence et cliquez sur terminer. le Installation du logiciel dialogue s’affiche. Une fois le logiciel installé, une boîte de dialogue indiquant que la condition de redémarrage s’affiche. Cliquer sur Redémarrer maintenant. Le plug-in BlackBerry Java Plug-in pour Eclipse est installé.

Dans la seconde méthode, cliquez sur le bouton BlackBerry_JDE_PluginFull_1.5.0_helios.exe ou un fichier exe de version antérieure. L'assistant BlackBerry Java Plug-in pour Eclipse est lancé. Cliquer sur Suivant dans introduction.


Assistant du plug-in BlackBerry Java pour Eclipse

Acceptez les termes de la licence et cliquez sur Suivant. Dans Choisissez le dossier d'installation spécifiez le répertoire dans lequel installer le plug-in, y compris l'IDE Eclipse. Cliquer sur Suivant.


Sélection du dossier d'installation

Dans Select Des tâches supplémentaires sélectionnez les tâches de raccourci par défaut et cliquez sur Suivant. Dans Résumé de pré-installation cliquer sur Installer.


Installation de BlackBerry Plugin

Le plug-in BlackBerry Java Plug-in pour Eclipse est installé. Cliquer sur Terminé. Ensuite, nous devons ouvrir la perspective BlackBerry. Sélectionner Fenêtre> Perspective ouverte> Autre. Dans Perspective ouverte, sélectionner Développement d'applications BlackBerry et cliquez sur D'accord.


Ouverture de la perspective de développement d'applications BlackBerry

Création d'un projet BlackBerry

Dans cette section, nous allons créer un projet BlackBerry dans Eclipse en utilisant les fonctionnalités de perspective de BlackBerry Application Development. Sélectionner Fichier> Nouveau. Dans Nouveau sélection de la fenêtre BlackBerry> Projet BlackBerry et cliquez sur Suivant.


Création d'un projet BlackBerry

dans le Nouveau projet BlackBerry fenêtre, spécifiez nom du projet (AnalyseXML par exemple). Sélectionner JRE comme BlackBerry JRE 7.0.0. Cliquer sur Suivant.


Spécifier le nom du projet BlackBerry

Dans Paramètres Java sélectionnez les paramètres de construction par défaut, qui incluent src et res dossiers pour le code source du projet et la poubelle dossier pour la sortie. Cliquer sur Suivant.


Spécification des paramètres Java de BlackBerry Project

dans le Modèles section, sélectionnez la Application BlackBerry modèle et cliquez sur Suivant.


Sélection du modèle de projet

dans le Application d'interface utilisateur fenêtre, spécifiez le Détails de la demande. Spécifiez un Nom du paquet (blackberry.xml), Nom de la classe d'application (AnalyseXML), Nom de la classe d'écran (Analyse_XML) et un Titre de l'écran. Cliquer sur terminer.


Spécifier les détails de l'application

Un projet BlackBerry est créé. Le projet BlackBerry comprend les éléments suivants
artefacts:

  1. Une classe (AnalyseXML) qui étend la classe UiApplication.
  2. Une classe (Analyse_XML) qui étend la Écran principal classe.
  3. Un fichier descripteur d'application BlackBerry BlackBerry_App_Descriptor.xml.

La structure de répertoires du projet BlackBerry est indiquée ci-dessous..


Structure de projet BlackBerry

Configuration du descripteur BlackBerry

Les propriétés d’un projet BlackBerry sont spécifiées dans BlackBerry_App_Descriptor.xml fichier, montré ci-dessous en mode graphique.


Fichier BlackBerry_App_Descriptor.xml

Les informations générales comprennent les champs de propriété / cases à cocher suivants.

Champ La description Valeur
Titre Le titre de l'application Analyser XML
Version La version de l'application 1.0.0
Vendeur Le nom du vendeur Développeur BlackBerry
Type d'application "Application BlackBerry" pour une application BlackBerry Application BlackBerry
Application BlackBerry Arguments d'exécution à l'application
Exécution automatique au démarrage Cochez la case pour exécuter automatiquement l'application au démarrage vrai
Niveau de démarrage La priorité de démarrage 7 (par défaut) est la priorité la plus basse
Ne pas afficher l'icône de l'application Cochez la case pour ne pas afficher l'icône de l'application

Le descripteur d’application peut également inclure des ressources locales et des icônes d’application. D'autres points d'entrée peuvent être utilisés pour exécuter une application en arrière-plan ou à l'avant-plan. le BlackBerry_App_Descriptor.xml est énuméré ci-dessous.

                     

Création de la classe Screen

Dans cette section, nous allons créer un écran pour l'application BlackBerry. Au minimum, un écran devrait avoir un titre. Un écran est un Écran principal classe et fournit des fonctionnalités communes aux applications de périphériques RIM. Créez une classe qui étend la Écran principal la classe et dans le constructeur de la classe définir le titre de l'écran en utilisant le setTitle méthode. La classe d'écran Analyse_XML est énuméré ci-dessous.

 package blackberry.xml; importer net.rim.device.api.ui.container.MainScreen; / ** * Une classe qui étend la classe MainScreen, qui fournit le comportement * standard par défaut pour les applications d'interface graphique BlackBerry. * / public final class Parsing_XML étend MainScreen / ** * Crée un nouvel objet Parsing_XML * / public Parsing_XML () // Définit le titre affiché de l'écran setTitle ("Parsing XML"); 

Analyser un document XML

dans le AnalyseXML classe nous allons analyser un document XML. le catalogue.xml le document a un catalogue pour un journal.

   
Septembre-octobre 2005 Création de pages de recherche Steve Muench
Novembre - décembre 2010 Architecture d'entreprise agile Bob Rhubart

Copiez le document XML dans le res dossier dans le src dossier, ou directement dans le src dossier. Ensuite, nous développerons le AnalyseXML classe, qui étend la UiApplication classe, la classe de base pour toutes les applications de périphérique fournissant une interface utilisateur. Créer une variable d'instance pour le Écran principal. Créer un Chaîne variable pour les valeurs d'élément. Nous allons utiliser un Fil analyser le document XML. Créer une variable d'instance pour la classe de thread.

 Parsing_XML screen = new Parsing_XML (); Élément de chaîne; Connexion de connexion;

Dans le constructeur de la classe, définissez le titre de l'écran et ajoutez le Écran principal écran sur la pile d'interface utilisateur pour le rendu. Créer un Fil par exemple et commencer le fil avec le début() méthode.

 screen.setTitle ("Analyse de XML"); pushScreen (écran); connexion = nouvelle connexion (); connection.start ();

dans le principale méthode, créer une instance du AnalyseXML classe et invoquez le fil du dispatcher d’événement en utilisant le enterEventDispatcher méthode.

Toutes les applications BlackBerry Framework UI contiennent un seul thread de distributeur d'événements. Une fois qu'un écran a été placé sur la pile d'affichage, toutes les modifications doivent être effectuées sur le thread de répartition d'événements ou sur un thread d'arrière-plan. Nous allons utiliser un thread d'arrière-plan Connection pour analyser le document XML catalogue.xml.

 ParsingXML theApp = new ParsingXML (); theApp.enterEventDispatcher ();

Créer un DocumentBuilderFactory instance d'usine utilisant la méthode statique newInstance () créer un analyseur DOM à partir de, puis créer une arborescence DOM à partir du document XML.

 DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance ();

Créer un DocumentBuilder instance de l'analyseur utilisant le nouveauDocumentBuilder méthode pour analyser ultérieurement le document XML et créer un objet de document DOM.

 DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder ();

Définissez l’analyseur pour qu’il valide en utilisant la touche isValidating () méthode.

 docBuilder.isValidating ();

Créé un Flux d'entrée objet de la catalogue.xml document. Inclure le '/' dans le catalogue.xml chemin.

 InputStream inputStream = getClass (). GetResourceAsStream ("/ catalog.xml");

Alternativement, le Flux d'entrée peut être créé en utilisant un Chaîne littéral pour le XML, et un ByteArrayInputStream.

 / ** str = ""+""+"
"+"Septembre-octobre 2005"+"Création de pages de recherche"+"Steve Muench"+"
"+"
"+"Novembre - décembre 2010"+"Architecture d'entreprise agile"+"Bob Rhubart"+"
"+"
"; // convertit une chaîne en InputStream InputStream inputStream = new ByteArrayInputStream (str.getBytes ()); **

Ensuite, obtenir un DOM Document objet de la Flux d'entrée en utilisant le parse (InputStream) méthode.

Document document = docBuilder.parse (inputStream);

Obtenir le Document élément, qui est le noeud enfant du document XML, ainsi que l’élément racine, en utilisant le getDocumentElement () méthode. Normaliser le document XML en utilisant le normaliser() méthode, qui supprime les nœuds de texte adjacents et vides.

document.getDocumentElement (). normalize ();

Nous allons sortir le les valeurs des éléments à l'écran. Créer un <code>NodeList</code> des éléments de titre en utilisant le <code>getElementsByTagName ()</code> méthode. </p> <pre>NodeList list = document.getElementsByTagName ("titre");</pre> <p>Le premier nœud enfant d'un élément est le nœud de texte de l'élément. La valeur du texte dans un <code>Texte</code> le noeud est obtenu en utilisant le <code>getNodeValue ()</code> méthode. Itérer sur le <code>NodeList</code> et obtenez les valeurs de nœud de texte pour les éléments de titre. Pour afficher d’abord les valeurs de titre à l’écran, nous devons obtenir le verrouillage d’événement à l’aide du bouton <code>getEventLock ()</code> méthode.</p> <pre> synchronized (UiApplication.getEventLock ()) </pre> <p>Le verrouillage d'événement est requis pour les problèmes de performances et d'accès simultané. Afficher les valeurs de titre à l’écran à l’aide des touches <code>ajouter()</code> méthode. </p> <pre> screen.add (new RichTextField ("Title:" + element)); screen.add (new SeparatorField ());</pre> <p>Si vous utilisez le <code>Chaîne</code> littéral pour le document XML, la sortie <code>Chaîne</code> à l'écran.</p> <pre>screen.add (nouveau RichTextField (str));</pre> <p>Dans le message d’exception de sortie du bloc catch, le cas échéant.</p> <pre> screen.add (new RichTextField ("Erreur:" + e.toString ()));</pre> <p>le <code>AnalyseXML.java</code> la classe est listée ci-dessous. </p> <pre> package blackberry.xml; import java.io.ByteArrayInputStream; importer java.io.InputStream; importer javax.microedition.io. *; import net.rim.device.api.ui. *; importer 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. *; importer org.w3c.dom. *; import org.xml.sax. *; Classe publique ParsingXML étend UiApplication // créant une variable membre pour MainScreen Parsing_XML screen = new Parsing_XML (); // variable de chaîne pour stocker la valeur de l'élément de document XML / s Élément de chaîne; Connexion de connexion; public static void main (String arg []) ParsingXML theApp = new ParsingXML (); theApp.enterEventDispatcher (); public ParsingXML () screen.setTitle ("Parsing XML"); // paramètre title screen.add (new RichTextField ("Demande de titres de catalogue…")); screen.add (new SeparatorField ()); // Pousse un écran sur la pile d'interface utilisateur pour le rendu. pushScreen (écran); connexion = nouvelle connexion (); connection.start (); // classe privée Connection s étend Thread public Connection () super (); public void run () StreamConnection conn; String str = null; try DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory .newInstance (); DocumentBuilder docBuilder = docBuilderFactory .newDocumentBuilder (); docBuilder.isValidating (); InputStream inputStream = getClass (). GetResourceAsStream ("/ catalog.xml"); / ** str = "<?xml version = '1.0' encoding = 'UTF-8'?>"+"<catalog journal="Oracle Magazine" publisher="Oracle Publishing">"+"<article>"+"<edition>Septembre-octobre 2005</edition>"+"<title>Création de pages de recherche"+"Steve Muench"+""+"

"+"Novembre - décembre 2010"+"Architecture d'entreprise agile"+"Bob Rhubart"+"
"+""; // convertir une chaîne en InputStream InputStream inputStream = new ByteArrayInputStream (str.getBytes ()); ** / Document document = docBuilder.parse (inputStream); document.getDocumentElement (). normalize (); liste NodeList = document.getElementsByTagName ("title"); element = new String (); // la boucle "for" est utilisée pour analyser le document // XML et extraire tous les éléments et leur // valeur afin qu'ils puissent être affichés sur le périphérique pendant ( int i = 0; i < list.getLength(); i++) Node value = list.item(i).getChildNodes().item(0); element = value.getNodeValue(); synchronized (UiApplication.getEventLock()) screen.add(new RichTextField("Title : " + element)); screen.add(new SeparatorField()); // end for // screen.add(new RichTextField(str)); // end try // will catch any exception thrown by the XML parser catch (Exception e) screen.add(new RichTextField("Error : " + e.toString())); // end connection function // end connection class

Exécution du projet BlackBerry

Ensuite, nous allons courir le AnalyseXML application dans Eclipse IDE. Clic droit sur AnalyseXML et sélectionnez Exécuter en tant que> BlackBerry Simulator.


Exécution de l'application BlackBerry

BlackBerry Simulator est lancé. L'application est installée sur BlackBerry Simulator..


Application BlackBerry installée

Cliquez sur l'application pour exécuter l'application.


Exécution de l'application BlackBerry

Les titres de la catalogue.xml le document est affiché.


Analyse du document XML

La structure de répertoire du AnalyseXML l'application est indiquée ci-dessous.


Structure du répertoire de l'application ParsingXML

Si le document XML est créé à partir d'un Chaîne littéralement, le XML peut aussi être affiché à l'écran.


Affichage d'un document XML



Résumé

Dans cet article, nous avons appris comment analyser XML sur un BlackBerry à l'aide de BlackBerry JDE. Nous avons utilisé BlackBerry Java Plug-in pour Eclipse pour ajouter la perspective BlackBerry Application Development à Eclipse IDE. Nous avons utilisé le Écran principal classe pour créer un écran pour le terminal BlackBerry. Nous avons utilisé le UiApplication classe pour créer un thread de répartition d'événements qu'une application d'infrastructure BlackBerry doit obligatoirement avoir. Nous avons créé un fil d’arrière-plan pour analyser un document XML et obtenu un verrou d’événement permettant d’afficher les titres de catalogue analysés sur l’écran du BlackBerry. Nous produisons également le document XML à l'écran.