{{tag>dev android}}
====== Principaux éléments d'un projet Android ======
Dans la vue Android, quand on déploie Application:
* Le fichier ''manifest/AndroidManifest.xml'' fixe les principales caractéristiques de l' application Android notamment ses différentes activités, l'activité initiale, les périphériques/ressources nécessaires: ex réseau, carte SD etc.
* Le dossier java contient les classes de l'application et tests unitaires.
* Le dossier res(ressources) comprenant entre autre les éléments à afficher (sous le dossier drawable) les interfaces sous le dossier layout. Le dossier res contient notamment le fichier ''res/values/strings.xml'' regroupant les chaînes de caractères utilisées par l'application. Le fichier manifest peut y faire référence avec la syntaxe @strings/variable
Une application android repose sur une ou plusieurs activités. Une activité peut afficher une ou plusieurs vues selon son type.
Les ressources (vues, fragments, composants etc) sont exploitables via leurs identifiants. La classe **R** automatiquement générée par l'IDE permet d'accéder facilement aux identifiants des ressources.
//Dans la méthode onCreate() de l'activité principale, on charge sa vue activity_main
setContentView(R.layout.activity_main);
Pour exécuter le code généré il faut désigner une cible d’exécution, se pourra être:
* Un périphérique Android existant connecté en USB (mode développeur activé)
* Un périphérique émuler (les périphériques émulés sont gérés via AVD Manager dans la barre d'outils)
===== Cycle de vie d'une activité =====
===== Android Annotations =====
Le framework Android Annotation (AA) permet de simplifier l'écriture d'applications Android.
Les sources annotées seront interprétées par un processeur qui générera automatiquement du code Java lors de la compilation de l'application.
* On part d'un projet vide.
* pour chaque module utilisant le framework, on modifie le fichier build.gradle du module, on insère une variable et on ajoute la section dependencies suivante:
...
def AAVersion = '4.6.0'
dependencies {
annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
implementation "org.androidannotations:androidannotations-api:$AAVersion"
}
Comme le fichier Grandle a été modifié, un bandeau apparait. Cliquer sur **sync** pour que les dépendances soient importées dans le projet. Compiler le projet pour valider les modifications.
===== Références =====
* https://www.youtube.com/watch?v=jgO-LKn5Bxs