Writing /net/www/auesnard/teaching/data/cache/c/c44412bcd364481bb150cf7c45d9d538.metadata failed
Writing /net/www/auesnard/teaching/data/meta/projtec/android.meta failed
projtec:android
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projtec:android [2017/01/18 16:25] – orel | projtec:android [2024/03/18 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Android ====== | + | ====== |
- | L' | ||
- | ==== Installation ==== | + | ==== Démo ==== |
- | + | ||
- | Nous allons commencer par installer le kit de développement Android, les [[ https:// | + | |
- | + | ||
- | mkdir / | + | |
- | cd / | + | |
- | wget https:// | + | |
- | wget https:// | + | |
- | wget https:// | + | |
- | unzip *.zip | + | |
- | + | ||
- | Nous allons maintenant poursuivre l' | + | |
- | + | ||
- | tools/ | + | |
- | + | ||
- | Puis, on positionne toutes les variables d' | + | |
- | + | ||
- | <code bash env.sh> | + | |
- | ROOT=/ | + | |
- | export ANDROID_HOME=$ROOT | + | |
- | export GRADLE_HOME=$ROOT/ | + | |
- | export ANDROID_NDK_HOME=$ROOT/ | + | |
- | export PATH=${PATH}: | + | |
- | </ | + | |
- | + | ||
- | ==== Installation avec Android Studio ==== | + | |
- | + | ||
- | Une alternative facile à tout ce merdier consiste à installer [[ https:// | + | |
- | + | ||
- | mkdir / | + | |
- | cd / | + | |
- | wget https:// | + | |
- | unzip android-studio-ide-*-linux.zip | + | |
- | cd android-studio/ | + | |
- | ./ | + | |
- | + | ||
- | Une fois l'IDE installée, si l'on souhaite utiliser le NDK (Native Development Kit), il faut installer quelques outils supplémentaires via le menu Tools/ | + | |
- | + | ||
- | <code bash env.sh> | + | |
- | ROOT=/ | + | |
- | export ANDROID_HOME=$ROOT/ | + | |
- | export ANDROID_NDK_HOME=$ROOT/ | + | |
- | export PATH=${PATH}: | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== Tutoriels ==== | + | |
- | + | ||
- | * [[android: | + | |
- | * (...) | + | |
- | * [[android: | + | |
- | + | ||
- | ==== Hello World from Scratch ==== | + | |
- | + | ||
- | Considérons un petit exemple Android minimaliste, | + | |
- | * http:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | + | ||
- | + | ||
- | Notre projet // | + | |
- | + | ||
- | < | + | |
- | ├── build.gradle | + | |
- | └── src | + | |
- | └── main | + | |
- | ├── AndroidManifest.xml | + | |
- | ├── java | + | |
- | │ └── org | + | |
- | │ | + | |
- | │ | + | |
- | └── res | + | |
- | ├── drawable | + | |
- | │ └── icon.png | + | |
- | ├── layout | + | |
- | │ └── mylayout.xml | + | |
- | └── values | + | |
- | └── strings.xml | + | |
- | </ | + | |
- | + | ||
- | Le fichier // | + | |
- | + | ||
- | <code xml src/ | + | |
- | <?xml version=" | + | |
- | < | + | |
- | package=" | + | |
- | android: | + | |
- | android: | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | < | + | |
- | <action android: | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <code xml res/ | + | |
- | <?xml version=" | + | |
- | < | + | |
- | <string name=" | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | Le fichier // | + | |
- | + | ||
- | <code xml src/ | + | |
- | <?xml version=" | + | |
- | < | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | > | + | |
- | < | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | /> | + | |
- | < | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | android: | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | La classe // | + | |
- | + | ||
- | <code java src/ | + | |
- | package org.hello; | + | |
- | + | ||
- | import android.app.Activity; | + | |
- | import android.os.Bundle; | + | |
- | import android.widget.TextView; | + | |
- | import android.view.View; | + | |
- | + | ||
- | public class HelloActivity extends Activity { | + | |
- | + | ||
- | private TextView textview; | + | |
- | + | ||
- | @Override | + | |
- | public void onCreate(Bundle savedInstanceState) { | + | |
- | super.onCreate(savedInstanceState); | + | |
- | setContentView(R.layout.mylayout); | + | |
- | textview = (TextView) findViewById(R.id.mytextview); | + | |
- | } | + | |
- | + | ||
- | @Override | + | |
- | public void onStart() { | + | |
- | super.onStart(); | + | |
- | } | + | |
- | + | ||
- | public void sayHello(View view) { | + | |
- | textview.setText(" | + | |
- | } | + | |
- | + | ||
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | __Nota Bene __ : | + | |
- | + | ||
- | * Structure du Projet : https:// | + | |
- | * Version du plugin Gradle : https:// | + | |
- | * Syntaxe du fichier // | + | |
- | * Intro au fichier // | + | |
- | * Les ressources : https:// | + | |
- | + | ||
- | ==== Compilation avec Gradle ==== | + | |
- | + | ||
- | A la racine du projet, le fichier // | + | |
- | + | ||
- | <code java build.gradle> | + | |
- | buildscript { | + | |
- | repositories { | + | |
- | jcenter() | + | |
- | } | + | |
- | + | ||
- | dependencies { | + | |
- | classpath ' | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | apply plugin: ' | + | |
- | + | ||
- | android { | + | |
- | compileSdkVersion 25 | + | |
- | buildToolsVersion " | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | Pour compiler tout ça et le déployer sur un émulateur //MyPhone// (en supposant que vous avez déjà configuré le device //MyPhone// grâce à la commande //android avd//), il faut : | + | |
- | + | ||
- | emulator -avd MyPhone | + | |
- | gradle installDebug | + | |
- | + | ||
- | Il ne reste plus qu'à démarrer l' | + | |
- | + | ||
- | Afin de pouvoir compiler l' | + | |
- | + | ||
- | gradle wrapper | + | |
- | ./gradlew installDebug | + | |
- | + | ||
- | ==== Compilation avec Ant ==== | + | |
- | + | ||
- | Si l'on préfère utiliser l' | + | |
- | + | ||
- | < | + | |
- | ├── AndroidManifest.xml | + | |
- | ├── build.xml | + | |
- | ├── res | + | |
- | │ ├── drawable | + | |
- | │ │ └── icon.png | + | |
- | │ ├── layout | + | |
- | │ │ └── mylayout.xml | + | |
- | │ └── values | + | |
- | │ | + | |
- | └── src | + | |
- | └── org | + | |
- | └── hello | + | |
- | └── HelloActivity.java | + | |
- | </ | + | |
- | + | ||
- | Voici donc un fichier // | + | |
- | + | ||
- | <code xml build.xml> | + | |
- | <?xml version=" | + | |
- | <project name=" | + | |
- | + | ||
- | < | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | + | ||
- | <import file=" | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | + | ||
- | Et c'est tout... Il ne reste plus qu'à compiler ce projet. Attention à ne pas oublier de positionner la variable d' | + | |
- | + | ||
- | ant debug install | + | |
- | + | ||
- | ==== Pour aller plus loin ==== | + | |
+ | * la démo SDL2 de base : {{: | ||
+ | * le portage sous Android : {{: | ||
+ | * [[projtec: | ||
+ | ==== Documentation ==== | ||
+ | * [[android: | ||
projtec/android.1484756742.txt.gz · Last modified: 2024/03/18 15:05 (external edit)