2010-10-20 5 views
4

Je suis relativement nouveau dans le développement Android et je suis confronté à des problèmes d'implémentation de l'interface utilisateur. À savoir que j'essaie de trouver un bon moyen (modèle de conception?) Qui aborde la hiérarchie de vue et la navigation entre les vues (avec l'histoire). Est-il toujours à propos de lancer de nouveaux Activity? Je ne veux pas apprendre de mauvaises habitudes lors de mes premiers pas avec Android SDK, d'où ma question. Vos approches personnelles que vous trouvez bonnes à suivre ou tout lien vers des ressources/tutoriels élaborant sur le sujet seraient appréciés.Motif de conception pour la navigation de vue dans Android?

Répondre

4

Dans Android, le comportement est recommandé en tant que tel:

  1. Le retour bouton Retour vous à un « écran » précédent. Vous n'avez pas toujours besoin de démarrer une nouvelle activité pour créer un nouvel "écran", si vous gérez votre propre "sous-écran", vous devez remplacer votre bouton Retour pour revenir au "sous-écran" précédent.
  2. Multitasks utilisateur et lorsque la mémoire est limitée, le système d'exploitation peut tuer votre application. Vous devez vous assurer que les utilisateurs ne perdent pas leur travail non sauvegardé (par exemple des formulaires partiellement remplis) si le système d'exploitation tue votre application, votre application doit restaurer tout ce que fait l'utilisateur comme s'il n'était jamais tué lorsque l'utilisateur revenait à votre application. Supposons que l'utilisateur puisse partir à tout moment pour effectuer une autre activité (par exemple, une notification par e-mail urgente s'affiche et l'utilisateur abandonne votre application pour lire l'e-mail) et se comporte de manière appropriée.
  3. Il y a une ligne directrice de la conception de l'interface utilisateur au sujet de votre question: http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html

Ironie du sort, même Google admet que toutes les applications natives se comportent de cette façon. Certaines des applications natives viole la ligne directrice en raison de décisions de conception consciente, tandis que d'autres simplement pour des raisons historiques.

+0

Le lien sur les directives de conception de l'interface utilisateur semble très intéressant. Je reviendrai avec mes commentaires après l'avoir lu. Merci, Lie :) – matm

+0

L'article que vous avez suggéré m'a donné un large aperçu sur les considérations de conception de l'interface utilisateur, donc je pense que c'est une réponse à ma question car je peux formuler mon problème en termes Android :) Maintenant, je me concentre sur Tâches "(developer.android.com), donc je peux répondre aux questions suivantes: démarrer une tâche constituée de quelques activités (" écrans ") qui, sur la touche RETOUR, retourne à l'activité racine de la tâche. En d'autres termes: Activity1-> A2 -> (TaskAct1-> TA2 -> ...-> TAn) - (BACK) -> A2, c'est-à-dire: n'importe quelle activité de tâche navigue l'utilisateur à A2 sur BACK. Je pense que tout repose sur le bon lancement des tâches (affinités?) Et la manipulation des piles. Ai-je raison? – matm

0

Il est recommandé de lancer de nouvelles activités car c'est le meilleur moyen qu'Android est capable de gérer le cycle de vie des tâches dans votre application.

Vous pourriez faire des vues à la volée et vous pourriez gérer avec setContentView() et un bon code de contrôle pour les événements, mais vous obtiendrez une interface monolithique dans un désordre embrouillé. Essayez de faire une petite analyse pour l'interface de votre application avec l'utilisateur et il vous montrera les principaux écrans et activités. Il est facile, il est efficace ... :)

0

Je recommanderais ce livre. http://commonsware.com/

Si vous êtes un débutant Java, vous devriez peut-être envisager d'apprendre le Java en premier. Les bons livres seraient Head First Java ou Thinking in Java par exemple. Après avoir lu ces livres, je vous recommande d'essayer des tutoriels en ligne car vous pouvez apprendre beaucoup de choses qui ne sont pas très bonnes alors que la qualité des livres est excellente!

+0

Merci pour les suggestions de livres :) – matm

Questions connexes