IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Programmation Android Listeview


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut Programmation Android Listeview
    Bonjour chers développeurs.

    J'ai bien lu le cours "Apprendre la programmation Android" mais j'ai un problème. Je suis en train de développer une application qui répertorie les employés d'une entreprise. J'ai 100 employés dans mon listview mais je veux que, lorsqu'on clique sur un employé, qu'on puisse obtenir les informations liées à cet employé (c'est-à-dire adresse, fonction et numéro), et que tout soit mis dans un seul textview.

    Voici ma préoccupation : dois-je créer 100 activity pour chaque employé ? Ou peut-être y'a-t-il moyen de mettre ces informations dans le fichier strings (un strings-array) et commencer à les pointer avec le code Java ? Ou soit le faire avec une base de données ? ou faire quoi d'autre ?
    Moi personnellement je suis bloqué.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Il n'y a que 2 activity :
    • Une qui liste des employés
    • Une qui affiche les informations d'1 employé donné (sélectionné dans l'activity précédente donc)



    C'est tellement commun comme conception que l'on parle de Master/Detail Flow : http://www.techotopia.com/index.php/..._Flow_Tutorial
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre actif
    Femme Profil pro
    Developpeur logiciel
    Inscrit en
    Juin 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 62
    Par défaut
    100 activity ? Heureusement que non !

    Procède par étape :

    Déjà, il serait convenable que tes 100 employés et les informations qui leurs correspondent se trouvent dans une base de données. Pour android, penche toi vers "SQLlite"
    Ta table de base de données peut s'appeler "employé" et se composerait de :
    id (primary key unique)
    nom
    adress
    fonction
    numéro
    ...

    Tu dois donc appeler cette base de données et lister tous tes employés présents dans la base dans ta listview.


    Ensuite, lorsque tu vas cliquer sur l'employé au sein de la liste, il faut que lors de l'evenement tu récupères l'id (qui est unique et donc différent pour chaque employé) selon le nom de l'employé par exemple.

    Ceci étant, quand tu recupère l'id de ton employé selectionné, avec une requête sql, tu auras accès à toutes les informations le concernant. Tu n'auras qu'à insérer le tout dans ton textview.

    Tu auras donc bel et bien 2 activity seulement :
    - Une qui liste l'ensemble des employés avec un evenement qui te permet de passer à la 2nde activity et de récupérer l'id de l'employé en fonction de son nom.
    (---- entre le passage des 2 activity il faut que tu passes le paramètres de l'id -----)
    - Une seconde activity qui te permet de lister l'ensemble des informations de l'employé choisi en fonction de son id.


    C'est une manière de faire beaucoup plus propre et logique. 100 employés, cela nécessite forcément une base de données. Si tu n'es pas à l'aise avec cela, je pourrai davantage t'expliquer si tu le souhaites. Mais tu as plus que des pistes à explorer ici !

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut Demande d 'Explication
    Oui @noboxstyle
    Je trouve l'idée de BD très intéressante. Explique moi d'avantage stp.

  5. #5
    Membre actif
    Femme Profil pro
    Developpeur logiciel
    Inscrit en
    Juin 2015
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 62
    Par défaut
    Tu n'as pas trop le choix de la BDD avec un nombre si élevé d'employés et d'informations.

    Pour la BDD tu as 2 solutions :
    - La base de données distantes
    - La base de données locale (tout sera donc en local au sein de l'application si tu préfères.). Je pense que si tu n'as jamais fait de base de données, et pour une appli qui semble être un petit projet, tu peux t'orienter vers cette solution. Plus simple à mettre en oeuvre. Tu dois donc te pencher vers SQLlite. La base de données locale propre à Android.

    Le plus propre, c'est que dans ton dossier java, tu créés un sous dossier (un package) appelé "model" par exemple, qui contiendra l'ensemble des classes et méthodes concernant la BDD.

    tu vas donc y trouver :
    - Une classe qui hérite de SQLiteOpenHelper et qui te permettra de créer ta base (avec la création de table etc).
    - Une classe "employéBDD" qui contiendra l'ensemble des méthodes que tu souhaites concernant les appels à la base (ajouter un nouvel employé...).
    - Une classe "employé" qui fera office de bean et qui ne contiendra que les getters et setters d'employés (nom, numéro...).

    Ceci est l'architecture de base. Elle peut être améliorée, cela va de soi, mais c'est déjà pas mal.

    N'oublie pas que l'architecture d'android est sous forme de MVC (model, vue, controlleur). Tout fonctionne ainsi.
    Pour la création de la base, essaie de suivre l'architecture que je t'ai décrite plus haut.

    Si tu n'y arrives pas, je pourrai te donner des exemples de classes.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Par défaut Remerciement
    Merci beaucoup @noboxstyle
    j'essaye je te fais signe après

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/07/2011, 15h50
  2. Apprendre la programmation Android ?
    Par snips67 dans le forum Android
    Réponses: 5
    Dernier message: 19/05/2010, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo