117 votes

Android : Ce qui est mieux - activités multiples ou de changer de vue manuellement ?

J’ai développé quelques applications pour Android, et cette question reste toujours :

Comment dois-je structurer mon interface utilisateur ? Devrais je lance l’activité après une activité et laisser le téléphone pour que le bouton « retour », ou devrais-je choisir plus optimisé, mais plus complexe à mettre en œuvre, avec basculement manuellement les modes et puis en faisant manuellement la fonctionnalité du bouton « Back » ?

Ce qui vous penser (ou savoir) est la meilleure pratique ?

101voto

Daniel Lew Points 39063

Je dirais que plusieurs Activités presque toujours plus de sens. Je ne pense pas qu'Android est conçu pour les changer constamment son propre point de vue - vous manquez tellement. Vous avez à mettre en œuvre vous-même, vous n'obtenez pas de l'inter-Activité des transitions, vous avez à mettre en œuvre beaucoup de logique interne de reprise d'une application dans l'état correct. Si vous n'avez pas de partition de votre application dans les Activités, il le rend beaucoup plus difficile par la suite de changer le flux de votre application. Il se traduit également par une méga-Activité qui peut être beaucoup plus difficile à gérer qu'un tas de petits morceaux de code.

J'ai du mal à imaginer que la vitesse est vraiment un problème; s'il l'est, il y a quelque chose de mal avec la façon dont vous êtes l'initialisation de chaque Activité. Par exemple, j'ai utilisé tentent de faire passer des objets Sérialisables entre les Activités, et qui s'est avéré être incroyablement lent; quand je suis passé à une méthode plus rapide de passage des objets, de la vitesse de lancement des Activités a augmenté énormément.

Aussi, je pense qu'il est révélateur que l'Android de lignes directrices pour l'Activité et des Tâches de Conception ne parle pas de changement de Vues à tous; elle est centrée autour d'une Activité comme la Vue de conception.

22voto

satur9nine Points 3901

Je tiens à souligner certains cas, lorsqu'une seule activité peut être la meilleure conception pour une application sur Android qui a plus d'un Affichage en plein écran:

  • Si les écrans de l'application sont étroitement liés et partagent un Objet commun qu'ils sont tous d'exploitation. Dans ce cas un passage autour de l'Objet peut exiger un paquet et peuvent être sujettes à erreur, car il y aura des copies. Un bon exemple peut être un assistant. Oui, vous pouvez utiliser la statique pour accéder à l'Objet commun mais statique peut être dangereux dans Android (pensez à des changements de configuration!)

  • Si vous voulez vraiment cool animations entre les deux écrans. Peut-être vous voulez un oiseau prendre son envol en un seul écran et de la terre dans un autre écran. Essayez de faire que lorsque chaque écran est une activité!

D'autre part, si l'un de vos écrans est conçu pour être diffusé par un certain nombre d'autres applications alors que l'écran doit être sa propre Activité.

Mise à JOUR de Mars 2014:

À ce stade, la question doit maintenant inclure le choix de Fragments. Je pense que les points de Vue sont sans doute les moins susceptibles choix de l'3: l'Activité, le Fragment, la Vue. Si vous souhaitez mettre en place des écrans qui rendent l'utilisation de la touche retour, puis il doit être soit Activties ou des Fragments parce que les deux gérer le bouton en mode natif. Les Fragments doivent être ajoutés à la FragmentManager pile de retour pour le bouton de retour au travail. La gestion des fragments, des dialogues et de la pile de retour peut être un peu de désagrément!

11voto

Erich Douglass Points 21714

Gardez à l’esprit cette mise en œuvre de votre application avec de multiples `` donnera à l’utilisateur une expérience plus cohérente avec la plate-forme dans son ensemble. Partie de l’expérience sera façonnée à l’aide de Google apps intégrées, afin que les utilisateurs auront probablement un temps plus facile à l’aide de votre application si elle se comporte de la même façon à ceux qui est déjà installés sur le téléphone.

4voto

happyhardik Points 4020

Différent des autres, j'utilise un mélange des deux, par exemple,
1. Il y a un menu principal lorsque l'application démarre
2. Vous cliquez sur rechercher, vous emmène à l'activité de recherche
3. Ensuite, il y a un bouton filtre, qui permet simplement de visualiser et vous montre les options de filtre
4. Il y a deux boutons à la fin de la vue filtre, cliquer sur "Recherche" ou "Annuler" et vous êtes de retour à l'Affichage de la Recherche de nouveau (sans changement)
5. Maintenant, si l'utilisateur appuie sur le téléphone bouton de retour, il revient au menu principal au lieu de la recherche d'options de filtre. Qui je suppose est le comportement correct.

Utiliser de la façon de l'utilisateur semble naturel. Et maintenir le tout dans une activité, il est difficile.

3voto

Greg Points 1041

Tout dépend de l'application, ce qui sont que vous essayez d'atteindre de meilleures performances, INTERFACE utilisateur plus lisse. À mon humble avis, je préfère la deuxième méthode de contrôle des Activités manuellement, même que c'est plus complexe que vous avez indiqué. C'est une approche que j'ai utilisée dans mon androïd projet, aussi, vous voudrez peut-être jeter un oeil à une classe appelée ActivityGroup (pas sûr de l'emballage) il vous permet d'avoir plusieurs activités que vous pouvez basculer entre les, de la bonne chose à propos de cette classe est que vos activités ne sont pas déchargées lorsque vous basculez mais une mauvaise chose, c'est qu'il faut plus de temps pour charger votre application principale.

Juste mon avis.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X