2012-09-12 6 views
1

J'ai besoin de conseils généraux.Android, gérer les vues et les activités et les activités

Je construis une application qui peut être démarrée via l'icône (façon normale) mais aussi avec une intention déclenchée par un clic dans la zone de notification (l'application place une icône dans la zone de notification). Le réveil est déclenché lorsqu'un événement/une alarme temporelle se produit.

L'application dispose de 5 à 10 vues. Est-il préférable d'ouvrir une nouvelle activité pour chaque vue? Comment puis-je être sûr de ne pas avoir de tâches multi-ouvertes? Dites si mon application est Activité-A, Activité-B, Activité-C et peut être démarrée à partir des activités A et B (selon si elle est ouverte via l'icône ou la zone de notification) ... comment nettoyer tout à la fermeture de l'application?

Ou est-il préférable d'avoir une activité et de changer de vue (mises en page xml)?

Répondre

-1

Dans ce cas, il vaut mieux utiliser une activité ou utiliser des fragments.

+0

Il y a eu une excellente discussion sur Google io 2012 à ce sujet. Une activité par vue est la voie à suivre si vous voulez agir comme une application Android. Je vais écrire une réponse plus tard si personne d'autre ne le fait :-) –

0

Je commencerai par ce que vous devriez regarder et lire. Il devrait être clair que la navigation dans Android est très facile à faire mal. Google a une histoire de faire différemment de l'application à l'application, mais ils s'améliorent. Cela dit, si vous devez faire une application, vous devez savoir comment il est prévu de travailler, et la meilleure façon de le faire est de lire les documents. Comme mentionné, il y avait un excellent talk at IO'12. Il y a aussi une très bonne section sur le design site, et enfin il y a une bonne section dans le API Guides. Pour résumer: un plein écran est une activité (qui à son tour peut être construite de fragments). Les activités devraient dans la quasi-totalité des cas être structurées comme un arbre dont la racine est l'activité qui est lancée depuis chez soi. Pour chaque activité, vous devriez avoir une activité «up» qui vous prend dans la hiérarchie. Notez que cela est différent de retour qui devrait vous amener au dernier état en plein écran dans lequel vous étiez. Notez également que l'affichage en plein écran signifie que les onglets ne doivent pas être enregistrés dans l'historique, car ils permettent la navigation dans un écran. Quand il s'agit d'appuyer sur une notification, cela revient à: appuyer sur home, retirer la tâche de la vue recents (effacer la tâche), ouvrir la tâche et enfin prendre le chemin le plus court pour accéder à l'activité présentant le info que la notification vous a parlé. Compliqué, oui en effet ... Mais au moins il y a une classe d'aide dans JB et dans la bibliothèque de support appelée TaskStackBuilder.

La clé de tout ceci est une conception d'interface utilisateur qui suit les directives de conception Android. Prenez votre temps pour faire la conception de votre application, et assurez-vous de séparer (statique) et arrière (temporel).

0

Cela peut être aussi simple que d'utiliser un mode de lancement différent, que vous pouvez définir dans le manifeste ou dans le code que vous utilisez. Cela prend un peu d'expérimentation mais SingleTask ou SingleInstance peuvent être les bons choix pour vous,

Votre activité devrait supporter onNewIntent dans ce cas, pour réutiliser des Activités existantes si c'est l'effet désiré.

Questions connexes