Comment les Fragments affectent-ils le principe de l'activité «unique, ciblé que l'utilisateur peut faire»?

Comme l'indique la documentation d'Android: "Une activité est une chose unique et focalisée que l'utilisateur peut faire".

Cependant, avec Fragments, nous pourrons faire plusieurs "choses" dans la même activité que Reto Meier suggère . Sa suggestion est de remplacer un fragment de sélection par un fragment de contenu dans la même activité (section "Dans notre code, cela produit un dilemme").

  • "Code": 403 et "raison": exception "interdite" lors du téléchargement du fichier dans google plus
  • Android - comment annuler l'enregistrement d'un récepteur créé dans le manifeste?
  • Icônes enfoncées dans la barre d'outils après changement vers Android SDK 26
  • Où est le fichier apk de publication pour les applications Cordova dans Visual Studio 2015
  • Comment ouvrir un exemple d'application Android SDK dans Eclipse
  • Comment définir l'accent sur le dernier élément dans une vue de liste dans Android
  • Disons que mon application est un «bit» plus complexe, avec de nombreuses activités, avec un arbre de navigation complexe et conçu avec le principe «unique, ciblé que l'utilisateur peut faire» à l'esprit.

    Disons maintenant que je dois l'adapter aux Fragments et aux grands écrans … et que je ne veux pas créer une deuxième application, aucune logique complètement différente (une pour les téléphones autres pour les tables) dans une seule application.

    Dois-je avoir une Activité pour gérer tous les fragments d'application et les transactions fragmentées? Comme Retro Meier suggère ci-dessus. Est-ce la voie recommandée à suivre? Ainsi, en cas de rupture avec le principe "unique, ciblé que l'utilisateur peut faire" pour les activités?

    Ou est-ce que je manque quelque chose? J'espère 😉

    BTW, je pense que Fragments semble génial, mais à partir de ce que j'ai vu jusqu'à maintenant, uniquement si vous créez une application à partir de la zéro. Parce que les applications compatibles avec le téléphone et la tablette semblent être un peu fastidieuses. J'espère me tromper 🙂


    Dianne Hackborn a déjà répondu (thx pour le lien mgv):

    Vous pouvez placer votre application entière dans une activité dans laquelle vous modifiez la structure du fragment à mesure que son état change

    Alors, Activity devient une sorte de conteneur où vous pourrez brancher Fragments. J'aime l'approche, mais … dans mon application, il y a environ 30 opérations différentes disponibles, chacune nécessite environ 2 à 4 écrans d'étapes à effectuer (formulaires et listes de sélection), tous diffèrent et il existe également des restrictions de navigation. Il fonctionne bien avec les activités qui traitent chacun un comportement écran / étape.

    Donc, pour passer à Fragments, je devrais déplacer chaque logique d'écran vers Fragments et utiliser les activités comme conteneurs pour chaque opération. Ainsi, les activités sont celles qui gèrent la navigation entre Fragments pour chaque opération, n'est-ce pas? On dirait souffrir d'adapter de longues applications. 🙁

    La définition de l'activité actuelle devrait changer un peu btw. 🙂

  • Linkedin Android SDK - Impossible de se connecter à l'API (INVALID_REQUEST)
  • Android ListView Adapter notifyDataSetInvalidated () vs notifyDataSetChanged ()
  • Voulez créer un dossier sur sdcard sur AVD
  • Retard AudioTrack: getBuffer expiré
  • Comment accéder aux vues de l'activité originale à partir du service de base généré
  • Empêcher le changement d'orientation dans l'application Android Xamarin
  • One Solution collect form web for “Comment les Fragments affectent-ils le principe de l'activité «unique, ciblé que l'utilisateur peut faire»?”

    Dois-je avoir une Activité pour gérer tous les fragments d'application et les transactions fragmentées?

    C'est impossible de répondre dans l'abstrait. Cependant, la plupart des applications auront de multiples activités, même dans un monde basé sur des fragments. Certains d'entre eux seront pour accueillir des tailles d'écran plus petites, où il aura tendance à être un fragment par activité. Certaines d'entre elles seront requises par le cadre (p. Ex. Héritage de PreferenceActivity ). Et certains d'entre eux seront réalisés par la conception graphique.

    Ainsi, en cas de rupture avec le principe "unique, ciblé que l'utilisateur peut faire" pour les activités?

    Cette partie de la documentation a été écrite en 2008, peut-être plus tôt. Si des fragments existaient à l'époque, j'imagine que la documentation indiquerait qu'un fragment est un «élément unique et focalisé que l'utilisateur peut faire», avec des activités servant de couche d'orchestration, déterminant les fragments visibles dans les circonstances.

    La documentation ne sera pas mise à jour pour refléter les fragments, et même si cela se produit, cela prendra du temps. Pour le solde de 2011, au minimum, vous devrez effectuer vos propres traductions des instructions de l'époque de 2008 pour les convertir en UI basées sur des fragments de l'époque 2011.

    Disons maintenant que je dois l'adapter aux Fragments et aux grands écrans … et que je ne veux pas créer une deuxième application, aucune logique complètement différente (une pour les téléphones autres pour les tables) dans une seule application.

    Je n'ai aucune idée de ce que vous considérez comme des "logiques complètement différentes". Dans une application basée sur des fragments, la plupart de votre logique métier sera dans les fragments eux-mêmes. Les activités, encore une fois, servent de couche d'orchestration, déterminent les fragments qui doivent être visibles et la coordination de la gestion des événements. Ce dernier sera un peu plus compliqué qu'il ne l'était, car parfois, cliquer sur un élément dans une liste générera un nouveau fragment, et parfois, cliquer sur un élément dans une liste commencera une nouvelle activité, en fonction de la taille de l'écran.

    Ou est-ce que je manque quelque chose?

    Pour être honnête, vous manquez de précisions suffisantes à votre question pour le rendre raisonnablement responsable.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.