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 :

Conseil d'architecture d'application


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Par défaut Conseil d'architecture d'application
    Bonjour à tous,

    voilà je cherche à créer une application qui recevra son interface graphique d'un serveur distant. L'application devra comporter:
    - Plusieurs Layouts (le serveur envoie plusieurs interface et l'utilisateur peut switcher de l'une à l'autre à la demande)
    - Un Layout de Loading (pour faire patienter proprement pendant le chargement)
    - Un Thread assurant la communication avec le serveur

    Je me pose des questions au niveau de la meilleure architecture logicielle pour réaliser ce projet. Voici ce que j'ai pensé:

    Cas 1 (2 Activity):
    - Chargement de l'Activity principal, qui lance le Thread de communication avec le serveur, puis une Activity de Loading avec le Layout de chargement.
    - Réception des configurations, transfert à l'Activity principal qui crée autant de Layout qu'il y a de config et charge les interfaces.
    - Association du premier layout à l'Activity principal, fermeture de l'Activity de Loading
    - Une action (à définir) sur l'Activity principale permet de passer d'un layout à un autre (un slide ou autre).

    Cas 2 (1 Activity):
    - Chargement de l'Activity, affichage du layout de Loading et lancement du Thread de com avec le serveur.
    - Réception des interfaces, chargement des différents layout
    - Fin du chargement, switch entre le layout de chargement et la première interface.

    La question est donc:
    Dans ce cas, est-il plus intéressant d'utiliser 1 ou 2 Activity? Quels avantages et inconvénients possèdent les 2 solutions?

    Pour le moment, mon appli est développée comme le Cas 1, mais le menu est identique sur les 2 Activity, et je me demande si cela ne vaut pas le coup de switcher sur une seule (car transférer des infos entre Activity est assez fastidieux et lourd).

  2. #2
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Cas 3: Implémenter une simple WebView et faire un service HTML5 pour mobile ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Par défaut
    Bonjour nicroman.

    Eh non ce n est pas une solution dans mon cas, car les donnees envoyees par le serveur sont ecrites dans un langage proprietaire, et je ne controle malheureusement pas les donnees envoyees par le serveur.

    Je dois donc me satisfaire de cela.

    Sur les 2 solutions proposees, laquelle est la meilleure?
    Google recommande t il une architecture plutot qu une autre?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Par défaut
    J'ai essayé de trouver des sources intéressantes sur les choix architecturaux d'une application Android, mais je n'ai rien trouvé de très probant.

    Je trouve que le fait d'utiliser une seule Activity simplifie grandement mon travail, car j'ai juste à gérer mes différents layouts, et à switcher en fonction de ce que je souhaite faire via un setContentView():
    - Etat normal: Affichages consécutifs des différents layouts
    - Chargement: Affichage du layout de Loading en attendant la fin.

    Quel est l'intérêt d'utiliser une Activity par "vue", si l'ensemble de ces vues ont les mêmes fonctionnalités et le même menu?

    Bref, si quelqu'un a un avis construit sur la question, qu'il n'hésite pas !

  5. #5
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Déjà, utiliser setContentView pour "changer" de view, n'est pas forcément la bonne méthode... Pour une raison simple: il te faudra gérer toi même la "pile" des views (et le bouton back).

    Ceci dit, il est facile de "palier" à ce probleme en passant dans l'intent de l'activité la layout à afficher... il suffit alors de lancer un nouvel intent pour les changement de view.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Par défaut
    Merci de ton intervention.

    Mon application est faite pour de la supervision, les éléments que je reçois du serveur permettent de mettre à jour l'interface graphique, qui est affichée sur l'Activity principale. Je peux recevoir plusieurs interfaces du serveur, dans ce cas, je les fais défiler automatiquement (timer), ou manuellement (glissé de droite à gauche).

    Je n'ai donc pas de problème avec mon bouton back en utilisant le setContentView sur une seule Activity, car un appui sur ce bouton ferme l'application, et c'est ce que je veux. Si j'utilise une Activity par config, je devrai toutes les fermer une par une en appuyant sur back avant de fermer l'application. Non?

    Au final, le problème peut-être défini comme ceci:
    - Est-il préférable de lancer une Activity par interface (et dans ce cas, comme les faire s'échanger)?
    - Pour le loading (qui est défini dans un layout à part), est-il mieux de le charger dans une Activity, ou de l'afficher directement via un setContentView de l'Activity principale?

    Merci de vos réponses

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/04/2015, 18h19
  2. Réponses: 2
    Dernier message: 28/05/2011, 12h09
  3. Conseil architecture d'application LOB
    Par Krustig dans le forum Silverlight
    Réponses: 2
    Dernier message: 13/04/2011, 16h18
  4. Réponses: 3
    Dernier message: 01/07/2003, 16h04
  5. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2003, 16h03

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