Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
208 L’art du développement Android
préfixé par R.xml, suivi du nom de base du fichier XML. Si une activité est fournie avec
un fichier words.xml, par exemple, vous pouvez appeler getResources().getXml(R.xml.words) afin d’obtenir une instance de la classe XmlPullParser,
qui se trouve dans l’espace de noms org.xmlpull.v1. À l’heure où ce livre est écrit, cette
classe n’est pas documentée, mais vous trouverez la documentation de cette bibliothèque
sur son site web 1 .
Un analyseur pull XML est piloté par les événements : il suffit d’appeler sa méthode
next() pour obtenir l’événement suivant, qui peut être START_TAG, END_TAG,
END_DOCUMENT, etc. Sur un événement START_TAG, vous pouvez accéder au nom du
marqueur et à ses attributs ; un unique événement TEXT représente la concaténation de tous
les nœuds qui sont les fils directs de cet élément. En itérant, en testant et en invoquant du
code élément par élément, vous finissez par analyser tout le fichier.
Réécrivons le projet Files/Static pour qu’il utilise une ressource XML. Ce nouveau
projet Resources/XML exige que vous placiez le fichier words.xml dans res/xml et
non plus dans res/raw. Le layout restant identique, il suffit de modifier le code
source :
package com.commonsware.android.resources;
import android.app.Activity;
import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.io.InputStream;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class XMLResourceDemo extends ListActivity {
TextView selection;
ArrayList items=new ArrayList();
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
selection=(TextView)findViewById(R.id.selection);
try {
1. http://www.xmlpull.org/v1/doc/api/org/xmlpull/v1/package-summary.html.
Livre Android.book Page 208 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
208 L’art du développement Android
préfixé par R.xml, suivi du nom de base du fichier XML. Si une activité est fournie avec
un fichier words.xml, par exemple, vous pouvez appeler getResources().getXml(R.xml.words) afin d’obtenir une instance de la classe XmlPullParser,
qui se trouve dans l’espace de noms org.xmlpull.v1. À l’heure où ce livre est écrit, cette
classe n’est pas documentée, mais vous trouverez la documentation de cette bibliothèque
sur son site web 1 .
Un analyseur pull XML est piloté par les événements : il suffit d’appeler sa méthode
next() pour obtenir l’événement suivant, qui peut être START_TAG, END_TAG,
END_DOCUMENT, etc. Sur un événement START_TAG, vous pouvez accéder au nom du
marqueur et à ses attributs ; un unique événement TEXT représente la concaténation de tous
les nœuds qui sont les fils directs de cet élément. En itérant, en testant et en invoquant du
code élément par élément, vous finissez par analyser tout le fichier.
Réécrivons le projet Files/Static pour qu’il utilise une ressource XML. Ce nouveau
projet Resources/XML exige que vous placiez le fichier words.xml dans res/xml et
non plus dans res/raw. Le layout restant identique, il suffit de modifier le code
source :
package com.commonsware.android.resources;
import android.app.Activity;
import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.io.InputStream;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class XMLResourceDemo extends ListActivity {
TextView selection;
ArrayList
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
selection=(TextView)findViewById(R.id.selection);
try {
1. http://www.xmlpull.org/v1/doc/api/org/xmlpull/v1/package-summary.html.
Livre Android.book Page 208 Dimanche, 8. novembre 2009 12:23 12
