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:26] – [Tutoriels] 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: | + | |
| - | * (...) | + | |
| - | * [[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.1484756819.txt.gz · Last modified: 2024/03/18 15:05 (external edit)
