02-11 09:10:39.114: E/Trace(1149): error opening trace file: No such file or directory (2)
Could not find class 'org.jdom.input.SAXBuilder', referenced from method com.example.td_xml.JDOM2.main
E/AndroidRuntime(1149): java.lang.NoClassDefFoundError: org.jdom.Element
Voici les erreurs que j'ai .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| package com.example.td_xml;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GestionBd gestion = new GestionBd(this);
gestion.open();
gestion.supprimeClients();
gestion.ajouteClient(new Client("bo","156545"));
gestion.ajouteClient(new Client("toto","123456789"));
gestion.ajouteClient(new Client (JDOM2.donneNomClients().get(0),"jd"));
ArrayAdapter<String> MonBaseAdapter = new ArrayAdapter<String>(this,R.layout.doubletexte,R.id.textView1,gestion.donneNomClients());
gestion.close();
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(MonBaseAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
} |
gestion.ajouteClient(new Client (JDOM2.donneNomClients().get(0),"jd"));
C'est cette ligne qui fait planter mon projet , sans elle j'ai bien mes deux autres utilisateurs dans le list view.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| package com.example.td_xml;
import java.io.*;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class JDOM2
{
static org.jdom.Document document;
static Element racine;
static org.jdom.input.SAXBuilder saxbuilder;
public static void main(String[] args)
{
saxbuilder = new SAXBuilder();
try
{
document = saxbuilder.build(new File("Exercice2.xml"));
}
catch(Exception e){}
racine = document.getRootElement();
donneNomClients();
}
public static ArrayList<String> donneNomClients(){
List listEtudiants = racine.getChildren("client");
ArrayList<String> k = new ArrayList<String>();
Iterator i = listEtudiants.iterator();
// while(i.hasNext())
// {
for (int j = 0; j < listEtudiants.size(); ++j){
Element courant = (Element)i.next();
String l =courant.getChildText("nom"+j);
k.add(l);
}
return k;
}} |
Le code pour parser , celui ci marche dans une java application .
Si le fichier xml n'est pas embarqué dans l'application (chargé avec getRessource), Il me semple que l'utilisateur doit pouvoir indiquer l'emplacement du fichier via la GUI ou via la ligne de commande.
Pourrais-tu m'expliquer comment marche le getRessource? et si possible comment l'utiliser? Je pense que le gros de mon problème viens de la.
Partager