Jump to content

Archived

This topic is now archived and is closed to further replies.

AppleMacBookPRo

Architecture d'un projet

Recommended Posts

Bonjour a tous !

Bon voila je me lance dans la programmation android (j'ai pas mal de notion en programmation (variable , objet , méthodes , classes ...)) et je voudrais savoir , pour éviter de prendre de mauvaises habitudes , comment faire l'architecture d'une application proprement , c'est a dire :

- comment organiser ses classes ?

- comment ne pas prendre de mauvaises habitudes ?

Mais j'aimerai aussi savoir :

- comment optimiser son application ?

- comment lier le XML et le java (je n'ai pas bien compris cela)

- et comment afficher dans son application ses homescreen (comme lorsque l'on fais un preview des homescreen avec launcher pro , ou adw launcher)

Voila mon but étant au final de faire ma home (je ne suis pas pres d'y arriver de suite) .

J'aurais peut etre d'autres questions lors de vos réponses .

Merci d'avance !

Share this post


Link to post
Share on other sites

Salut,

C'est très vague tes questions ! Autant acheter un bouquin. Cependant je peux t'expliquer le lien entre le XML et Java.

Toutes les ressources présentent dans le répertoire /res sont référencées dans une classe Java nommée R. Ce référencement s'effectue à l'aide de l'outil Android Asset Packaging Tool (aapt), qui est utilisé au fil de l'eau, et donc transparent, dans Eclipse (avec le plugin ADT).

Le fichier R peut être visualisé dans le répertoire /gen de ton projet. Ce fichier contient des sous-classes représentant le type de ressource (ex : layout pour les vues, drawable pour les "dessinables", string pour les chaînes de caractères, id pour les identifiants, ...) . Et chaque sous-classe contiennent des entiers (int) nommé avec le nom de la ressource qu'ils référencent.

Par exemple :

Le fichier /res/drawable-hdpi/icon.png est référencé sous R.drawable.icon

Le fichier /res/layout/main.xml est référencé sous R.layout.main

L'attribut @+id/mon_id dans un layout est référencé sous R.id.mon_id

ichpa

Share this post


Link to post
Share on other sites

Salut,

C'est très vague tes questions ! Autant acheter un bouquin.

Alors tout d'abord , salut , je te remercie de ta réponse :) . Ensuite tu me dis d'acheter un livre , tu pourrais pousser un peu plus loin ta réponse et me dire quel livre acheter s'il te plait :) . Ta réponse sur le XML est très claire , Merci .

Share this post


Link to post
Share on other sites

Bonjour a tous !

Bon voila je me lance dans la programmation android (j'ai pas mal de notion en programmation (variable , objet , méthodes , classes ...)) et je voudrais savoir , pour éviter de prendre de mauvaises habitudes , comment faire l'architecture d'une application proprement , c'est a dire :

- comment organiser ses classes ?

- comment ne pas prendre de mauvaises habitudes ?

Bonjour,

J'ai le même soucis que toi, j'ai commencé à coder sous android il y a quelques semaines et maintenant, j'aimerais mettre en place une architecture propre au niveau de mon programme.

J'ai donc essayer de bien dissocier les choses en les mettants sous forme de classes.

Ex:

Classe "Creator" -> initialise le systeme et represente l'activité qui lance le programme

Classe "Affichage" -> qui permet de mettre à jour l'affichage lorsqu'on le souhaite

Classe "Accelerometre" -> représente le capteur accélérometre et effectue le traitement des données lorsque les informations du capteur changent.

Mon problème c'est que j'ai l'impression que la grande majorité des choses doivent être réalisé dans la classe qui herite de Activity ( "Creator" pour ma part). par exemple, je suis obliger de créer/détruire l'ecouteur pour l'accélérometre dans cette classe.

Je perd donc tout mon interret à différencier les choses dans des classes différentes. Toute les classe se retrouvent liés ensemble...

J'aimerais donc savoir si c'est une bonne idées de continuer comme je le fait, ou alors limiter le nombre de classe et faire la majorité des choses dans la classe principale.

Merci de vos remarque.

@ bientot ;)

Share this post


Link to post
Share on other sites

ok , je vais essayer de me procurer un des livres que tu as cité , MVC c'est pas la façon de coder de l'objective c ? M = modele , V = vue , C = controller non ?

Merci de vos réponses !!!

Share this post


Link to post
Share on other sites

Effectivement, MVC = Model/View/Controller ou Modèle/Vue/Contrôleur . C'est un principe d'architecture pour les IHM d'application. Mais, ce n'est pas lié à une plateforme ou un langage particulier

Share this post


Link to post
Share on other sites

Ok donc déjà il faut partir sur cette architecture , MVC . Vous connaissez pas par hasard des sites avec des architectures en UML?

Je vous explique concrètement ce que je souhaite faire sa ira plus vite : je souhaite commencer ma Home , et commencer par le launcher qui sera en faite une activity (bonne idée ? mauvaise idée ?) , donc pour faire ce launcher il faut que je puisse accéder a la liste d'application du tel , afficher un layout (donc avoir des fichiers layout) et construire mon activity . Donc M = fonction de recherche des applications du tel , intent ... , V = Layout , C = mon activité ?

Et pour ce qui s'agit de ma fonction de recherche des applications installés , connaissez vous une fonction ? je crois qu'il y a getInstalledApp(false) ou quelque chose du genre .

et pour construire mon layout (qui sera un carousel ou en tout cas un effet en 3d) , je fais d'abord un code java pour ensuite en faire un XML ? (une sorte de création de sous classe de view si j'ai bien compris le fonctionnement , mais comment faire cela ? dans le code métier ? Layout ?

merci de toutes vos réponses !

Share this post


Link to post
Share on other sites

Je te conseille plutôt de commencer par des projets moins difficile , une custom home ce n'est pas vraiment par là que je conseillerais de débuter. Apprend à connaitre l'api d'android et à coder pour ce système.

Quand tu seras plus familier avec , tu pourras plus sérieusement envisager de build ton home.

Share this post


Link to post
Share on other sites

mais si j'y vais petit a petit ? sa le fera pas ? par exemple la je commence par l'app drawer , juste cela , cela m'apprend a regarder la doc et a voir le code source des autes . Mais si comme tu le dis je dois commencer par autres choses , par quoi dois-je commencer ?

Share this post


Link to post
Share on other sites





×
×
  • Create New...