Dans cette étape 11 je vais remplir automatiquement ma base de donnée de recette en recupérant un xml de données sur internet . Format du xml
<listerecette>
<recette nom=”Le Cari de Boeuf” type=”Repas” pays=”France” nbrpers=”4″ niveau=”” contenu=”Coupez le boeuf en morceaux (style daube). Émincez les oignons, coupez les tomates en petits morceaux et pilez ail, sel poivre e…”>
</recette>
…
<listerecette>
pour récupérer ce fichier cliquez ici.
Dans ma classe BDAcces je vais rajouter une méthode renvoi_liste_recette_xml qui vas se charger de récupérer le flux xml et de le renvoyer sous forme de tableau à deux dimensions les données sur les recettes.
public ArrayList renvoi_liste_recette_xml() throws Exception{
//***********************création de notre tableau dinamique
ArrayList aTableRetour = new ArrayList();
//************************récupération du flux wml
URL myURL = new URL("https://www.dgentreprises.com/recette/listerecette.php");
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
// création d'un constructeur de documents
DocumentBuilder constructeur = fabrique.newDocumentBuilder();
//*****************lecture du flux xml**************
Document document = constructeur.parse(myURL.openStream());
Element racine = document.getDocumentElement();
NodeList liste = racine.getElementsByTagName("recette");
//remplissage de mon tableau
for(int i=0; i aTableauTmp = new ArrayList();
Element E1= (Element) liste.item(i);
//aTableRetour[i]= "";
aTableauTmp.add(E1.getAttribute("nom"));
aTableauTmp.add(E1.getAttribute("contenu"));
aTableRetour.add(aTableauTmp);
}
return aTableRetour;
}
Point inportant dans le fichier manifest.xml il ne faut pas oublier de donner les droits à votre application pour aller sur internet avec cette ligne.
<uses-permission android:name=”android.permission.INTERNET” />
Dans ma fenetre setting je rajoute le bouton import recette sur lequel je vais mettre mon action d’importation de mon xml.
dans ma fenetre setting.xml
et dans ma classe principale je rajoute, le code suivant pour remplir automatiquement ma base en utilisant ma méthode insertRecette.
Button btimportrecette = (Button) findViewById(R.id.btrecet);
btimportrecette.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
try{
objBd.open();
ArrayList listeRecette = objBd.renvoi_liste_recette_xml();
String myString = "";
for(int i=0; i
Code Source ici
Il est temps de mettre à profit les tutoriels d'Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d'euros pour acquérir les connaissances qui vous feront gagner de l'argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo