0

J'ai beaucoup d'expérience avec Java et C#, mais je suis nouveau sur Android. J'utilise principalement C# parce que je suis amoureux de la hiérarchie de contrôle. J'aime le plug-and-play de l'ontologie. J'essaie de comprendre l'ontologie dans ce nouveau paradigme et on m'a peut-être donné de fausses informations.Android: Widget, AppWidget, Fragment, Activité et App - Quelle est la différence?

En ce qui concerne les applications, cela devrait être le composant le plus important. Dans l'application, il peut y avoir plusieurs activités. Une activité peut afficher un certain nombre de fragments. Les AppWidgets semblent être un cas particulier car ils existent en tant que composant de l'App, mais sont affichés individuellement. Et on m'a dit que vous pouvez étendre Buttons ou ProgressBar pour créer vos propres composants qui semblent encore être appelés Widgets.

Comme je l'ai dit, je peux avoir complètement faux. Idéalement je voudrais créer mes propres widgets que je peux mettre sur un Fragment, un AppWidget ou une Activité; tout ce que je pourrais composer dans une application. Toutes les sources en ligne que j'ai trouvées ne parlent que de Widget dans le sens d'un AppWidget? Ai-je reçu des informations incorrectes? Quelqu'un peut-il clarifier l'ontologie? Merci

+0

@ Qui a voté-ma-question. Juste curieux de savoir pourquoi. Je suis assez nouveau gagnant réputation sur ce site et j'aimerais mieux comprendre. Il ne semble pas y avoir une autre question de qualité sur ce point. J'ai cherché de la documentation en ligne et la confusion entre widget et AppWidget rend impossible l'analyse. Pouvez-vous commenter la raison pour laquelle le downvote? – BSD

+1

J'ai voté pour vous juste parce que je n'ai rien vu de mal dans votre question. Nous allons de l'avant en posant des questions et en obtenant des connaissances des autres. Pas tout le monde né avec une connaissance accablante. Malheureusement, ce que j'ai vu dans le (s) forum (s), c'est qu'il y a quelques personnes qui détestent lire et comprendre le problème sous-jacent et aider la communauté. Ils prennent la route facile en votant et en supprimant votre question ou en changeant toute votre question, etc. C'est juste dommage pour nous qui cherchons une solution pour une situation étrange ... – Vincy

+0

@Vincy Eh bien, j'apprécie l'aide. J'ai regardé dans le vote haut/bas et je comprends qu'il a été chaudement débattu par la communauté méta. Pour ma part, s'il y avait une critique spécifique d'une question, je serais heureux de l'aborder. Si la question doit être considérablement améliorée, je le ferai. Mais parce que les downvoters ne sont pas identifiés, il est impossible de trouver, d'adresser et de réévaluer les questions. Réponse longue. Merci, – BSD

Répondre

2

"Widget" est un terme surchargé. Vous aurez probablement plus de chance si vous recherchez plutôt des tutoriels sur "Custom Views". Je vais inclure un bref aperçu de divers termes et de ce qu'ils signifient en bas.

Une vue personnalisée est à peu près tout ce qui étend la classe View (ou l'une de ses sous-classes) et ne fait pas partie de la structure. Les vues personnalisées peuvent être utilisées partout où des vues typiques sont attendues, par ex. dans les fichiers de mise en page ou directement construit en Java. Une chose à noter: seules certaines vues peuvent être utilisées dans AppWidget car elles s'exécutent dans un autre processus en dehors de votre application. Cela signifie que vos vues personnalisées ne peuvent pas être utilisées dans AppWidgets. D'après mon expérience, cela n'a pas trop d'importance.


App: Une application. Contient des composants, définis dans le manifeste de la balise <application>.

Activité: L'un des quatre composants d'application. Presque toujours a une interface utilisateur associée, composée d'une hiérarchie de View s.

Fragment: Classe de structure qui aide à modulariser le code et l'interface utilisateur de votre application. Les fragments peuvent être attachés à une activité et peuvent contribuer à l'interface utilisateur de la hiérarchie View de l'activité. Ils sont entièrement facultatifs; Vous n'avez pas besoin d'utiliser Fragments dans votre application et vous pouvez joindre un fragment sans que celui-ci contribue à l'activité.

Voir: Un composant d'interface utilisateur, tel que le texte (TextView) ou des images (ImageView). Ils sont également appelés "widgets" et vous remarquerez peut-être que les classes de structure se trouvent dans le package android.widget. Certaines vues contiennent d'autres vues, ce qui vous permet de créer une hiérarchie d'interface utilisateur. ceux-ci s'étendront ViewGroup et sont appelés «groupes de vue» ou «dispositions» plus ou moins interchangeables.

AppWidget: Quelque chose que l'utilisateur peut ajouter à son écran d'accueil. Ceci est fourni par l'application, mais n'est pas l'un des 4 composants d'application mentionnés précédemment (c'est géré par un composant d'application, à savoir une sous-classe spéciale de BroadcastReceiver).La plupart des gens les appellent familièrement des «widgets» parce que c'est plus court à dire et que les lanceurs utilisent aussi cette terminologie, ce qui conditionne les utilisateurs.

+0

Est-ce que je compte mal? Nous avons "quatre composants d'application", AppWidget n'est "pas l'un des 4 composants d'application", et je compte trois autres types (Activité, Fragment, Vue). Suis-je en manque un? – BSD

+0

@BSD Les quatre composants de l'application sont ceux qui peuvent apparaître à l'intérieur de la balise '' dans votre manifeste. Ce sont Activity (''), Service (''), BroadcastReceiver ('') et ContentProvider (''). Fragment et View ne sont pas des composants d'application, ils sont utilisés pour composer l'interface utilisateur et la logique d'une activité. – Karakuri

+0

Excellent. Merci – BSD