2010-08-01 14 views
1

Je travaille sur une application qui tente de simplifier la saisie des données à partir d'un processus très répétitif:Android: Workflow répétitif d'activité Android. Feu et oublier?

  1. Entrez quelques détails qui nécessitent des graphismes en plein écran et serait source de confusion si défile
  2. Entrez quelques détails plus atomiques
  3. Entrez les détails encore plus atomique
  4. Appliquer les données accumulées
  5. Retournez à l'étape 1

Je suis assez sûr que je peux représenter cela comme 3 activités distinctes, puis juste lancer de nouvelles intentions pour chaque activité dans chaque cycle. Ce dont je ne peux pas encore me rendre compte, c'est si c'est une approche viable.

Question 1: Si je fais une approche ignoble, quelle part de la gestion des ressources sera gérée par Android? Est-ce que cela va juste libérer/réutiliser/etc. activités dans les coulisses? Ou est-ce quelque chose que je dois gérer moi-même?

Question 2: Existe-t-il un moyen de provoquer la réutilisation des activités afin qu'une seule instance de chaque activité soit attribuée et qu'elle soit simplement réutilisée pour chaque cycle?

Question 3: Est-il possible de manipuler la pile d'activités de sorte qu'il n'y ait pas environ 100 cycles (nombre approximatif de cycles attendus) d'activités sur la pile? Je voudrais pouvoir utiliser la touche de retour pas plus de trois fois et sortir de la partie de saisie de données vers une page de résumé.

Question 4: Quelqu'un peut-il suggérer d'autres approches au problème des cycles d'activités? J'ai considéré des palmes de vue et des onglets, mais n'était pas sûr que ce serait mieux ou non.

Répondre

2

Sera-t-il simplement heureux deallocate/reuse/etc. activités dans les coulisses?

Oui.

est-il un moyen de provoquer la réutilisation des activités de sorte que seule une instance de chaque activité est toujours affectée et est simplement réutilisé pour chaque cycle?

Essayez FLAG_ACTIVITY_REORDER_TO_FRONT sur votre Intent pour lancer l'activité. Basé sur les documents, il devrait vous donner votre comportement souhaité.

Peut-on manipuler la pile d'activité afin qu'il n'y ait pas ~ 100 (nombre de approximée attendus cycles) cycles d'activités sur une valeur la pile?

100? Vous devez vous attendre à des utilisateurs très patients.

Quoi qu'il en soit, FLAG_ACTIVITY_REORDER_TO_FRONT devrait couvrir cela aussi.

Quelqu'un peut-il suggérer alternatives aux approches des cycles d'activités problème? J'ai considéré voir palmes et onglets, mais je ne savais pas qui serait mieux ou non.

onglets ne sont pas parfaits pour les choses où vous essayez d'appliquer un flux, puisque les onglets sont conçus pour un accès aléatoire (non séquentiel). ViewFlipper/ViewSwitcher peut fonctionner, bien que vous deviez gérer la fonctionnalité du bouton RETOUR et vous assurer que vous ne perdez pas de mémoire dans l'activité, car vous prévoyez que les utilisateurs l'utiliseront pendant une période prolongée.

+0

Merci. Votre réponse m'a orienté dans ce domaine d'Android (et sa configuration pertinente) et je peux aller de l'avant à nouveau. J'apprécie le temps que vous avez pris pour répondre. – el2iot2

+0

Je voterais pour utiliser FLAG_ACTIVITY_CLEAR_TOP en retournant à la première activité à la place. Cela empêchera l'utilisateur de revenir en arrière après avoir appliqué/envoyé les données sur la dernière activité. – alexanderblom

+0

@alexanderblom - Oui. Maintenant que je vois les opérations de manipulation de la pile, je vais probablement mélanger et faire correspondre les choses pour obtenir une bonne expérience utilisateur intuitive. Merci pour la suggestion. – el2iot2