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 :

Conception correcte pour une application de contacts


Sujet :

Android

  1. #1
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut Conception correcte pour une application de contacts
    Bonjour,

    Je débute avec Android, et je voudrai votre avis pour ne pas partir dans n'importe quelle direction.

    Je voudrai créer une appli de gestion de contact avec :
    - une activité listant les contacts
    - une activité affichant tous les détails du contact

    Du coupe je pensais :
    - Lire la liste des contacts pour initialiser la vue de ma première activité
    - En cas de clique sur un contact, afficher la vue de la deuxième activité en lui donnant l'identifiant du contact sélectionné, et faire appel à une classe perso qui s'appellera "Contact" et qui aura une méthode d'initialisation pour récupérer tous les détails du contact grace à l'identifiant passé en paramètre.

    L'identifiant passera d'une activité à l'autre via le passage de "Contexte".

    Qu'en pensez vous ? Est ce que j'ai bien compris le concept ?

    Au début je pensais instancié un objet par contact à lister, mais ce n'ets pas optimisé.

    Question subsidiaire : est ce possible de passer le pointeur d'un objet qu'on a instancié, d'une activité à l'autre ?

    Merci pour les conseils. Si vous avez un tuto là dessus je suis preneur

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    L'identifiant passera d'une activité à l'autre via le passage de "Contexte".
    Pas tout à fait. Il s'agit en fait de Bundle. Un conteneur de valeurs simples comme des int, des String, des Boolean, ... L'identifiant du contact doit être sous la forme d'une URI je pense, et donc elle peut être transférée comme un String, et recomposée en URI dans l'Activity de détails du Contact.

    Au début je pensais instancié un objet par contact à lister, mais ce n'ets pas optimisé.
    Surtout pas, tu t'embêtes pour pas grand chose. Les ListView possèdent déjà un listener qui te permet de détecter le clic sur un des éléments de la liste. A partir de la, tu connais la position dans la liste, et donc l'URI correspondante.

    Question subsidiaire : est ce possible de passer le pointeur d'un objet qu'on a instancié, d'une activité à l'autre ?
    JAVAAAA Il est possible de créer un objet static qui sera utilisable partout, mais ce n'est vraiment pas conseiller. Tu peux aussi envoyer des Objets par le système de Bundle expliqué plus haut, mais il faut que cet Objet implémente l'interface Parcelable il me semble.
    Et dans ton cas de figure, ce n'est vraiment pas utile de procéder ainsi. Un simple passage d'URI fera l'affaire.

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Au lieu de faire deux activités, tu pourrais aussi faire une activité et deux fragments, un pour la liste et un pour le détail.

    Citation Envoyé par Simon MARQUIS
    Tu peux aussi envoyer des Objets par le système de Bundle expliqué plus haut, mais il faut que cet Objet implémente l'interface Parcelable il me semble.
    Et dans ton cas de figure, ce n'est vraiment pas utile de procéder ainsi. Un simple passage d'URI fera l'affaire.
    Type primitif, serialisable ou parcelable.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    Bonjour,

    Quels sont les avantages/inconvenients entre "2 activités" et "2 fragments" ?

    Désolé pour la question "pointeur", je n'ai pas touché à du java depuis longtemps

    Merci pour vos retours. Je vais approfondir mes recherches dans cette direction.

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    "Pointeur" est un terme qui normalement n'existe pas en Java (puisqu'on parle de "références") mais tous les programmeurs ayant touché de prêt ou de loin à d'autres langages peuvent parler de "pointeur" en lieu et place de "réference forte".

    Un fragment fait le lien entre des données d'une part, et l'utilisateur d'autre part, par l'intermédiaire d'un "groupe de views" (un layout).

    Une activité représente la "fenêtre" que voit l'utilisateur, qui peut très bien comporter plusieurs "fragments".

    Leur interêt vient du fait que le support de plusieurs "layouts" d'activité est grandement facilité par exemple: Soit une liste de "livres" dont on veut pouvoir regarder les informations et aussi éditer... Dans un mode "horizontal"/"tablette" on veut pouvoir avoir la liste à gauche, et les détails / édition à droite... Sans fragment il faut: 3 activités "téléphone", et aussi 2 activités "tablettes". Avec du code dupliqué dans chaque activité.

    Avec les fragments, on a 3 fragments (les list/details/edit), mais uniquement 4 activités... Les 3 activités "téléphone" (chacune utilisant un des fragments), et une seule activité "tablette" utilisant le fragment "list" ET (en même temps) le fragment "details" ou "edit" selon le besoin.. => plus de code dupliqué.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Comment faire des etats pour une application web ?
    Par ovh dans le forum Autres outils décisionnels
    Réponses: 6
    Dernier message: 06/07/2021, 03h25
  2. Conception d'une interface pour une application c#
    Par msana dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2015, 10h55
  3. Conception UML d'une application de géolocalisation pour voyageur
    Par tunisdroid dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 16/10/2012, 12h28
  4. conception UML pour une application wp7
    Par ramy0612 dans le forum Windows Phone
    Réponses: 1
    Dernier message: 29/04/2011, 00h10
  5. Problème de conception pour une application d "Audit"
    Par Jcdas dans le forum Modélisation
    Réponses: 3
    Dernier message: 05/11/2008, 20h13

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