• Home
  • Youzik
  • Papystreaming
  • Darknet
  • Libertyland
  • Cacaoweb
  • GG maps
  • Yggtorrent
  • Zone téléchargement

Grimag

  • Accueil
  • Catégories
    • Smartphone
    • High Tech
    • Business
    • Web
    • Appli Jeux Vidéo
    • Shopping
  • Android c’est quoi ?
  • Nous Contacter
  • Nos comparatifs
    • Drone avec caméra
    • Clavier d’ordinateur
    • Onduleur
    • GPS
    • Répéteur WiFi

Développez une application pour android etape 8 (Affichage d’une recette)



Dans mon post précédent j’ai affiché la liste des recettes enregistrées ici, dans mon post d’aujourd’hui je vais afficher le détail d’une recette sélectionnée sur le click de ma liste (nom de la recette et la recette). Je vais d’abord créer le xml de ma page qui va me servir à afficher les infos de la recette sélectionnée.







Pour récupérer l’identifiant de chaque recette je vais modifier ma méthode renvoi_liste_recette de ma classe BDAcess, en créant un tableau de retour au rang 0 je renvoie le nom des recettes et au rang 1 la liste des identifiants

public ArrayList[] renvoi_liste_recette(){

String[] aTableCollonne=new String[] {"nom_larecette","id_larecette"};
Cursor objCursor = mDb.query(RECETTE_TABLE,aTableCollonne,null,null,null,null,null,null);
int iPostNomchaine = objCursor.getColumnIndex("nom_larecette");
int iPostId = objCursor.getColumnIndex("id_larecette");
int itotal = objCursor.getCount();
ArrayList aTableRetourNom = new ArrayList();
ArrayList aTableRetourId = new ArrayList();
objCursor.moveToFirst();
ArrayList[] aTableRetour = new ArrayList[2];

/* Check if our result was valid. */
if (objCursor != null) {
if (objCursor.isFirst()) {
int i = 0;
do {
i++;
String resultsring = objCursor.getString(iPostNomchaine);
String resultId = objCursor.getString(iPostId);
aTableRetourNom.add(resultsring);
aTableRetourId.add(resultId);
objCursor.moveToNext();
}while(!objCursor.isLast());
}
}

aTableRetour[0]=aTableRetourNom;
aTableRetour[1]=aTableRetourId;
return aTableRetour;//tableau de retour rang 0 le nom des recettes rang 1 id des recettes
}

Toujours dans ma classe BDAccess je vais rajouter une méthode info_recette (qui renvoie les informations sur une recette grâce à son identifiant) en passant par argument l’identifiant de la recette

public String[] info_recette(String id_recette){

String[] aTableauRetour = new String[2];

String[] aTableCollonne=new String[] {"nom_larecette","id_larecette","recette_larecette"};
String sFiltre="id_larecette='"+id_recette+"'";
Cursor objCursor = mDb.query(RECETTE_TABLE,aTableCollonne,sFiltre,null,null,null,null,null);
int iPostNomchaine = objCursor.getColumnIndex("nom_larecette");
int iPostRecette = objCursor.getColumnIndex("recette_larecette");
objCursor.moveToFirst();
String resultNomRecette = objCursor.getString(iPostNomchaine);
String resultLaRecette = objCursor.getString(iPostRecette);
aTableauRetour[0]=resultNomRecette;
aTableauRetour[1]=resultLaRecette;
return aTableauRetour;
}

Dans ma classe principale je vais implémenter deux classes AdapterView.OnItemClickListener, View.OnClickListener donc l’en tête de ma classe principale donne donc

public class TestRecette extends Activity implements AdapterView.OnItemClickListener, View.OnClickListener{…

je rajoute donc deux méthodes dans ma classe principale onItemClick et onClick, la méthode qui m’interesse ici c’est onItemClick c’est elle qui est appelée quand il y a un click sur ma liste de recette

public void onItemClick(AdapterView parent, View v, int position, long id) {
setContentView(R.layout.larecette);//on appelle notre xml
final TextView nomrecette = (TextView) findViewById(R.id.textrecette);
final TextView larecette = (TextView) findViewById(R.id.textlarecette);
ArrayList atableautmp = this.aTableauResult[1];
objBd.open();
String idRecette = (String) atableautmp.get(position);
String[] aTableauInfoRecette = objBd.info_recette(idRecette);

nomrecette.setText(aTableauInfoRecette[0]);//affichage du nom de la recette
larecette.setText(aTableauInfoRecette[1]);// affichage de la recette
objBd.close();
}

n’oubliez pas d’importer les classes

import android.app.*;
import android.os.Bundle;
import android.view.*;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.view.View.OnClickListener;

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

Avr 13, 2009Gnakouri Danon


ScummVM: la machine virtuel des vieux jeux LucasArts arrive sur AndroidRockOn: Un lecteur mp3 qui a de la gueule sous Android
Gnakouri Danon

Co-fondateur du site Android france, senior lead developper, passionné de bière et de cigare cubain

13 avril 2009 Developpement, Tuto développementandroid, Developpement, sqlite177

2023 © Android-France