====== Android : Hello World ====== ==== Hello World from Scratch ==== Considérons un petit exemple Android minimaliste, //HelloWorld// ! Je me suis librement inspiré de plusieurs tutoriels : * http://czak.pl/2016/01/13/minimal-android-project.html * https://spring.io/guides/gs/gradle-android * https://code.tutsplus.com/tutorials/android-from-scratch-building-your-first-android-application--cms-26024 * https://developer.android.com/training/basics/firstapp/index.html Notre projet //HelloWorld// nécessite quelques fichiers organisés selon l'arborescence suivante ({{android:HelloWorld-v1.zip}}) : ├── build.gradle └── src └── main ├── AndroidManifest.xml ├── java │ └── org │ └── hello │ └── HelloActivity.java └── res ├── drawable │ └── icon.png ├── layout │ └── mylayout.xml └── values └── strings.xml Le fichier //AndroidManifest.xml// contient les informations de haut-niveau de l'application Android. Dans ce cas, l'application a pour //label// la valeur définie dans le fichier ressource "res/values/strings.xml", c'est-à-dire "MyHelloWorld". Et son icône est définie par le fichier ressource "res/drawable/icon.png" (au format hdpi, 72 x 72 px). Son //activity// est défini dans la classe //HelloActivity// du package //org.hello//. La section //intent-filter// précise qu'il s'agit de l'activity principale initiant notre application ("android.intent.action.MAIN"), qui sera affichée dans l'//Application Launcher// du smartphone ("android.intent.category.LAUNCHER"). MyHelloWorld Le fichier //mylayout.xml// est un fichier XML qui décrit le //layout// de votre //activity//, c'est-à-dire l'agencement de l'interface graphique de votre application. Celle-ci contient essentiellement composé d'un //TextView// et d'un //Button//. Le champs //id// permet de faire référence au //TextView// dans le code grâce à la méthode //findViewById()//. Concernant le //Button//, on définit une methode callback //sayHello()// qui sera appelé sur l'évènement //onClick//.