Page 1 sur 45

Processing pour Android

Développer sur Android avec

Processing

1

Auteur : jerome.cantaloube@gmail.com

Page 2 sur 45

Processing pour Android

Processing permet de créer facilement ses propres applications sur

Android

2

Page 3 sur 45

Processing pour Android

SOMMAIRE :

1) Présentation de la plate-forme Android.

2) Présentation de l’outil de programmation Processing.

3) Configurer Processing et Android.

4) Initiation à Processing.

5) Créer ma première application.

L’objectif de ce cours est de fournir assez de matière et de motivation pour

susciter l’envie de continuer l’exploration de la plate-forme Android et du

langage de programmation Processing.

3

Page 4 sur 45

Processing pour Android

1. Présentation de la plate-forme Android :

Android est un système d’exploitation “open source” à destination des mobiles.

Il est basé sur Linux avec une interface de programmation Java.

La kit de développement (SDK) fourni est composé :

• d’un compilateur

• d’un debugger

• d’un émulateur.

Les applications (micro-logiciel) Android sont contenues dans des fichiers .apk (Android

Package)

Pour en savoir plus : http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is

4

Page 5 sur 45

Processing pour Android

1.1. Architecture interne :

5

Applications de base non

modifiables par le

développeur Applications

configurables par le

développeur

Librairies utilisables par

le développeur

Gestion matérielle

(drivers)

Gestion des

applications

Page 6 sur 45

Processing pour Android

1.2. Dalvik Virtual Machine :

Dalvik est une machine virtuelle (VM)

Dalvik est conçue pour faciliter l'exécution simultanée de plusieurs applications.

Avec Dalvik, 1 processus = 1 VM :

• Ainsi on garanti l'isolation des processus entre eux et avec le système

• une activité ou un service plante ? un seul processus plante

• la VM plante ? un seul processus disparaît

Pour en savoir plus : http://www.youtube.com/watch?v=ptjedOZEXPM

6

Page 7 sur 45

Processing pour Android

1.4. Compatibilité matérielle :

Pour être compatible avec l’OS Android 2.1, l’appareil doit être équipé :

• Affichage (Minimum QVGA 240x320 avec orientation portrait et paysage)

• Clavier (virtuel) et écran tactile (pas nécessairement multitouche).

• Touches de navigation (Home, menu and retour)

• USB (USB-A) et WIFI (minimum 200Kbit/sec)

• Caméra, Accéléromètre (3-axes), Gyroscope (3-axes) et GPS

• Téléphone

• Mémoire et stockage (mini 92Mb pour le kernel, 150Mb non-volatile pour

les données utilisateurs)

• Stockage des applications (mini 2GB).

7

Page 8 sur 45

Processing pour Android

1.5. Les fabricants :

HTC, Samsung, Motorola, LG, Sony Ericsson...

Pour avoir la liste complète : http://www.androphones.com/all-android-phones.php

8

Page 9 sur 45

Processing pour Android

1.6. Android Market :

Android Market est un site web développé par Google à destination des

appareils Android.

Une application appelée "Market" est pré-installée sur

tous les appareils Android et permet aux

utilisateurs/développeurs de fournir ou de télécharger

des applications publiées par d’autres développeurs et

stockées sur Android Market.

9

Page 10 sur 45

Processing pour Android

2. Présentation de Processing :

Processing est environnement de programmation « open source » pour ceux

qui veulent créer des images, des animations et des interactions.

Initialement développé pour servir de portfolio informatique et enseigner les

principes de base de la programmation dans un contexte visuel, Processing

s'est développé pour devenir un véritable outil professionnel.

Aujourd'hui, des dizaines de milliers d'étudiants, des artistes, des designers,

des chercheurs et les amateurs utilisent Processing.

10

Page 11 sur 45

Processing pour Android

2.1. Processing c’est légé !

Un Environnement de Développement minimaliste

(appelé PDE), qui facilite la prise en main

Un langage de programmation proche du Java

11

Page 12 sur 45

Processing pour Android

2.2. Processing c’est facile !

Processing a été créé avec pour but de faire de la programmation accessible à

tous, pour créer des graphismes, des interactions.

12

Page 13 sur 45

Processing pour Android

2.3. Processing c’est flexible !

Processing peut traiter n’importe quel type d’information.

13

Page 14 sur 45

Processing pour Android

2.4. Processing c’est modulaire !

Processing c’est aussi pour le développement Web, hardware, ...

14

Page 15 sur 45

Processing pour Android

2.5. Processing pour l’éducation, l’art, ...

15

Page 16 sur 45

Processing pour Android

2.6. Librairies Processing

Plus de 100 librairies externes développées par la communauté :

16

Page 17 sur 45

Processing pour Android

3. Configuration de Processing et d’Android :

L'Android SDK (Software Development Kit) inclut un jeu complet d'outils :

• Debuger

• Bibliothèques

• Emulateur

• Documentations, exemples de codes et tutoriels.

Multiplateforme : Linux, MACOS, Windows.

Officiellement, l'environnement de développement intégré (IDE) est Eclipse

=> Processing est nettement plus facile à prendre en main qu’Eclipse

17

Page 18 sur 45

Processing pour Android

3.1 Installer Android SDK

Installer dans un premier temps le JDK (Java Development Kit) :

http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html

Télécharger le Android SDK à partir site officiel.

Nous allons traité uniquement la version pour Windows.

Télécharger le fichier : installer_r16-windows.exe.

Pour plus d’informations :

http://developer.android.com/sdk/installing.html

18

Page 19 sur 45

Processing pour Android

Lancer l’Android SDK et télécharger

les modules suivants :

19

En fonction de votre

appareil Android

Installer aussi le module USB driver

(attention à liste des appareils supportés, voir détail :

http://developer.android.com/sdk/win-usb.html)

Télécharger, si besoin, le driver de votre appareil :

http://developer.android.com/sdk/oem-usb.html

Page 20 sur 45

Processing pour Android

Ajouter une variable d’environnement :

20

Sous Windows, clic droit sur Mon

Ordinateur (Mon poste de travail),et

sélectionner Propriétés.

Sur l'onglet avancé, appuyez sur le

bouton variable d'environnement.

Dans la boite de dialogue qui arrive ,

double-clic sur la variable système

Path.

Allez à la fin de la ligne, ajoutez un

point virgule " ; " suivi du chemin

complet du répertoire exemple :

C:\Android\android-sdk\tools" à la

variable système Path.

(conseil : rebooter Windows)

Page 21 sur 45

Processing pour Android

3.2 Configurer Android AVD

Andoid AVD (Android Virtual Device) est l’émulateur qui va nous servir par la suite à tester nos

programmes.

Lancer l’outil “Manage AVDs...”

21

Page 22 sur 45

Processing pour Android

Créer (New...) votre propre AVD en fonction de votre appareil puis lancer l’émulation (Start...)

22

Page 23 sur 45

Processing pour Android

23

Attention cela

prend quelques

minutes avant que

l’émulateur soit

complètement

lancé.

Page 24 sur 45

Processing pour Android

3.3 Installer Processing

A l’heure actuelle, la version de Processing qui prend en charge

Android est la 2.0b3 (http://processing.org/download/)

Une fois installé mettre Processing en mode Android :

24

Un message apparait pour créer

une variable d’environnement

ANDROID_SDK, cliquer sur oui

et indiquer l’emplacement du

fichier demandé

Page 25 sur 45

Processing pour Android

Processing en mode Android (changement de couleur !)

25

Page 26 sur 45

Processing pour Android

3.4 Tester l’émulateur Android

Nous allons réaliser notre premier programme (“sketch”) afin de tester l’émulateur.

Code de test :

void setup() {

size(240,320);

smooth();

noStroke();

fill(255);

rectMode(CENTER);

};

void draw() {

background(#FF9900);

rect(width/2, height/2, 50, 50);

};

26

Page 27 sur 45

Processing pour Android

27

Lancer l’émulation depuis Processing (Ctrl+R) (l’émulateur doit être lancé avant, voir diapo 23 )

Page 28 sur 45

Processing pour Android

28

Résultat de l’émulation

Page 29 sur 45

Processing pour Android

3.5 Tester votre appareil Android

Après avoir installer le driver de votre appareil

Connecter votre appareil au port USB de votre PC

Paramétrer votre téléphone pour qu’il autorise le mode “débogage USB”

(Paramètres\Paramètres des applications\Développement\Débogage USB)

Puis exécuter le programme vers l’appareil : Ctrl+Maj+R

29

Page 30 sur 45

Processing pour Android

30

Page 31 sur 45

Processing pour Android

Les permissions :

Si vous voulez charger des données d'Internet, ou se connecter à un

serveurs, vous devrez autoriser la permission INTERNET pour votre

Sketch.

Si vous voulez utiliser des méthodes comme saveStrings () ou

createWriter, vous devrez permettre WRITE_EXTERNAL_STORAGE

pour que vous puissiez sauver des choses à la mémoire flash

incorporée.

Il existe des permissions pour accèder au téléphone, à la boussole, etc.

Pour en savoir plus :

http://developer.android.com/reference/android/Manifest.permission.html

31

Page 32 sur 45

Processing pour Android

4. Initiation à Processing:

Il existe de nombreux tutoriels sur le web :

• http://processing.org/learning

• http://www.ecole-art-aix.fr/rubrique81.html

• http://fr.flossmanuals.net/processing/ch043_processing-dans-lenseignement

• http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.OUTILSProcessing

Dont certains dédié à l’utilisation d’Android :

• http://wiki.processing.org/w/Android

• http://forum.processing.org/android-processing

32

Page 33 sur 45

Processing pour Android

4.1 Dessiner en 2D et gérer les couleurs

33

fill() : remplissage

stroke() : contour

Background() : arrière plan

Page 34 sur 45

Processing pour Android

4.1 Dessiner en 2D et gérer les couleurs

34

Page 35 sur 45

Processing pour Android

4.1 Dessiner en 2D et gérer les couleurs

35

Page 36 sur 45

Processing pour Android

4.1 Dessiner en 2D et gérer les couleurs

36

Page 37 sur 45

Processing pour Android

4.1 Dessiner en 2D et gérer les couleurs

37

Page 38 sur 45

Processing pour Android

4.1 Dessiner en 2D et gérer les couleurs

38

fill() : couleur de remplissage

stroke() : contour

Page 39 sur 45

Processing pour Android

4.2 Animation et mouvement

setup()

Appelée une seule fois quand le programme

démarre. Utiliser pour initialiser l’environnement

de travail (taille de l’écran, couleur de l’arrière plan)

avant d’exécuter le draw().

Les variables déclarées dans le setup ne sont pas

accessible aux autres fonctions.

draw()

Appelée directement après setup(), cette fonction exécute en continue les lignes de codes

qu’elle contient tant que le programme n’est pas stopé ou que la fonction noLoop() est appelée.

39

Void setup() {

println(“Setup: démarrage");

}

Void draw() {

println("En cours");

}

Quand ce code est en cours d’exécution, les

messages suivants sont écrits dans la console:

Setup: démarrage

En cours

En cours

. . .

Page 40 sur 45

Processing pour Android

4.2 Animation et mouvement

Exemple :

40

Page 41 sur 45

Processing pour Android

4.3 Média (images et polices de caractères)

41

mage(image, x, y)

image(image, x, y, c, d)

Image PImage: l’image à afficher

x float: coordonnée en x de l’image

y float: coordonnée en y de l’image

c float: largeur de l’image

d float: hauteur de l’image

Page 42 sur 45

Processing pour Android

4.3 Média (images et polices de caractères)

42

Page 43 sur 45

Processing pour Android

4.4 Interaction (clavier et écran tactile)

mousePressed :

La fonction mousePressed détecte l’appui ou non sur le clic de la souris (ou de l’écran tactile).

Voir aussi :

mousePressed() http://processing.org/reference/mousePressed_.html

mouseReleased() http://processing.org/reference/mouseReleased_.html

mouseMoved() http://processing.org/reference/mouseMoved_.html

mouseDragged() http://processing.org/reference/mouseDragged_.html

mouseX http://processing.org/reference/mouseX.html

mouseY http://processing.org/reference/mouseY.html

keyPressed http://processing.org/reference/keyPressed.html

key http://processing.org/reference/key.html

43

Page 44 sur 45

Processing pour Android

4.5 Pour aller plus loin

Gestion du multitouche de votre Android via Processing :

http://code.google.com/p/android-multitouch-controller/

Gestion des capteurs et de la camera de votre Android via Processing :

http://code.google.com/p/ketai

APWidgets: librarie pour l’utilisation des widgets d’Android avec processing :

http://code.google.com/p/apwidgets

OscP5: librairie pour envoyer et recevoir des messages OSC (Open Sound Control)

http://www.sojamo.de/libraries/oscP5/index.html

44

Page 45 sur 45

Processing pour Android

CONCLUSION:

45