web-dev-qa-db-fra.com

Quel est le meilleur flux de page pour une application de liste, de recherche et d'affichage d'élément?

Considérez le scénario suivant:

J'ai une Android avec trois écrans: une liste d'articles, un écran de résultats de recherche et un écran d'affichage d'élément. Une barre de recherche peut être invoquée sur chaque écran, et la barre de recherche sera soit vous amène à l'écran de résultats de recherche ou directement à un écran d'élément si la saisie semi-automatique trouve une correspondance parfaite.

Maintenant, la question est de savoir comment organiser le flux entre les écrans? Le flux simple est facile: liste> recherche> résultats> afficher . Cliquer sur le bouton de retour dans l'un ou l'autre état déplace un élément vers le bas de la pile.

Cependant, que se passe-t-il si la recherche est invoquée à partir de l'écran d'affichage? La pile serait alors liste> recherche> résultats> afficher> recherche> résultats . Et nous pourrions éventuellement nous retrouver avec une grande pile de résultats de recherche et afficher l'écran.

J'envisage de rendre le flux tel que chaque fois que vous invoquez la barre de recherche (et effectuez une recherche), tous les écrans d'affichage sont supprimés de la pile, et la pile ne sera jamais plus complexe que la simple liste> recherche> résultats> afficher .

J'imagine que le cœur de la question est de savoir si un utilisateur invoquant mentalement la barre de recherche à partir d'un écran d'affichage "revient à la recherche" ou "passe à la recherche suivante", et peut donc s'attendre à ce que le premier écran d'affichage soit accessible ou non.

L'application IMDb pour Android suit cette dernière approche, créant facilement une pile de dizaines d'écrans, et je ne suis personnellement pas ravi de cela.

5
Gunnar Lium

Je pense que cela dépend de l'utilisation et du type de contenu que l'application contient.

L'application que j'utilise pour planifier un voyage en train utilise la pile simple qui se réinitialise lorsqu'une recherche est lancée. Cela me fait souvent perdre un résultat de recherche précédent parce que j'ai commencé une nouvelle recherche. Dans ce cas, une pile plus grande qui ne se réinitialise pas serait préférable.

Si l'application propose un scénario d'utilisation très simple ou une collection d'éléments qui n'ont pas vraiment de grande relation les uns avec les autres, il peut être déroutant d'avoir une pile longue et compliquée.

1
TomvB

Hmm, je vois cela comme un scénario à 3 écrans.

  1. Chercher
  2. Liste/Résultats
  3. Article

La liste est vraiment juste une recherche prédéfinie ... SELECT * from TABLE

Recherche> Résultats> Article

Avec le chemin direct supplémentaire

Rechercher> Article (dans le cas d'une correspondance exacte)

0
scunliffe