59 votes

Android l'architecture de l'application - qu'est-ce que le modèle proposé?

De la même façon, un site web ou une application de bureau peut avoir trois ou n-tiers - de l'INTERFACE utilisateur, d'Affaires, de Données, par exemple - qu'est-ce que la structure proposée pour une application sur Android? Comment faites-vous des cours de groupe ensemble, ce que les couches ne vous ont etc?

Je viens juste de commencer Android dev (internet une application qui doit répondre à des notifications entrantes) et n'ont aucune idée réelle de la structure, je suis objectif. Suggestions apprécié.

17voto

louiscoquio Points 5395

À mon humble avis, Android "veut" suivre un modèle MVC, mais la vue et le contrôleur sont généralement vraiment couplé à des activités.

Il fait de l'unité de test plus difficile et il est difficile d'obéir au Principe de Responsabilité Unique.

J'ai trouvé un vraiment agréable Android architecture présentée ici, il pourrait être une idée. Tout est faiblement couplé, de manière beaucoup plus facile à tester et à modifier.

Évidemment, je suis sûr qu'il ya beaucoup d'autres possibilités (comme le modèle MVP (Model View Presenter) - et voici les réponses de parler de MVP dans Android), mais vous devez toujours prendre un coup d'oeil sur elle.

15voto

Pentium10 Points 68884

Les actions, les vues et les activités dans Android sont cuites dans la façon de travailler avec l'INTERFACE utilisateur Android et sont une mise en œuvre d'un modèle-vue-vuemodèle modèle, qui est structurellement similaire (dans la même famille que le modèle-vue-contrôleur.

Au meilleur de ma knoweledge, il n'y a pas de moyen de sortir de ce modèle. Il peut probablement être fait, mais vous auriez probablement à perdre tous les avantages que le modèle a, et réécrire votre propre couche d'INTERFACE utilisateur pour le faire fonctionner.

Vous pouvez trouver MVC dans les points suivants:

  • Vous définissez votre interface utilisateur dans les différents fichiers XML par la résolution/matériel etc.
  • Vous définissez vos ressources dans divers fichiers XML par les paramètres régionaux etc.
  • Stocker des données SQLite ou vos données personnalisées dans /actif/ dossier, en savoir plus sur les ressources et les actifs
  • Vous étendez clases comme ListActivity, TabActivity et rendre l'utilisation du fichier XML par inflaters
  • Vous pouvez créer autant de catégories que vous le souhaitez pour votre modèle, et avoir vos propres packages, qui va agir comme une structure
  • Beaucoup d' Utils ont été déjà écrit pour vous. DatabaseUtils, Html,

Il n'y a pas un seul Modèle MVC vous pourriez obéir. MVC seulement des états plus ou moins que vous ne devrait pas se mêler de données et de la vue, de sorte que, par exemple, les vues sont responsables de la tenue des données ou des catégories de traitement de données sont directement affecter la vue.

Mais néanmoins, la manière Android traite avec des classes et des ressources, vous êtes parfois même obligés de suivre le modèle MVC. De plus compliqué dans mon oppinion sont les activités qui sont responsables, parfois, pour la vue, mais tout de même agir comme un contrôleur dans le même temps.

Si vous définissez votre point de vue et mises en page dans les fichiers xml, de charger vos ressources à partir du dossier res, et si vous évitez de le plus ou moins de se mêler ces choses dans votre code, alors votre de toute façon à la suite d'un patron de conception MVC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X