Coder en Python sur Android

Programmer avec Python sur Android c’est possible. C’est vraiment très pratique pour coder rapidement  des outils perso, ou pour utiliser des scripts existants. On peut faire des choses vraiment pas mal avec même des interfaces graphiques et cela beaucoup plus simplement qu’en Java.

Comment coder en Python sur Android

Pour coder en Python il y a plusieurs solutions :

  • QPython : Le plus simple, vous téléchargez l’application sur le Store et vous avez l’interpréteur Python avec la console et même un éditeur.
  • SL4A + Py4A : C’est ce que j’utilise, ce n’est pas sur le Play Store mais cette solution permet de faire des widget qui pointe directement vers mes scripts.
  • Kivy : Compatible Linux, Windows, OS X, Android et iOS. Je n’ai pas encore pris le temps de tester mais c’est clairement la meilleure solution pour quelque chose d’un peu plus solide.

SL4A est une application open source qui exécute des scripts sous différents langages et propose une API pour interagir avec Android. Ce qui permet par exemple d’afficher un toast ou une boite de dialogue, ou d’avoir accès au donné GPS, ou de faire parler le téléphone, etc…

Installation de SL4A et de Py4a

  • Autoriser l’installation de sources inconnues dans les paramètres de sécurité
  • Télécharger SL4A, puis l’installer
  • Télécharger Python for Android, puis l’installer
  • Exécuter l’application Python for Android, faites « Install ». Vous pouvez également via cette interface installée des modules Python.

Code du Hello World

Petite démonstration de ce qu’on peut faire avec SL4A. Vous trouverez la documentation de l’API ici.

Vous pouvez maintenant porter vos scripts sur Android. Dans mon exemple c’est de l’affichage console, ce n’est pas très beau et pas pratique sur un terminal mobile. Je ferai peut-être une démo d’interface graphique plus tard.

Mon premier test avec Python for Android, a été de créer un script pour faire parler mon téléphone depuis mon PC, ça fait bien rigoler les enfants. Une autre idée, s’amuser à manipuler les ports GPIO d’un Raspberry Py depuis Android en Python. Après personnellement, si je dois faire un projet pour un client ou pour le Play Store, je préfèrerais rester dans le standard avec Java car c’est bien mieux intégré dans l’environnement Android et il y a beaucoup moins de risques d’incompatibilité futurs…

4 réponses à “Coder en Python sur Android”

  1. Charreyre marin dit :

    Bonjour deja je tiens a te remercier c est vraiment tres bien cette page elle m a bcp aider ! J ai un probleme..je souhaite creer un générateur de qcm sur qpython.jai ma trame de qcm que l on peut completer en lanceant le programme mais peut-on sauvegarder ce programme qpython apres avoir complété les variables pour que lorsqu on relance ce nouveau programme sauvegardé ca nous ressorte le qcm et non juste la trame a completer ?
    Merci d avance
    Marin

  2. Denis Pécontal dit :

    Cette solution semble sympathique si en plus tu dit qu’elle permet de créer des interfaces graphiques alors il me tarde de voir ta démo car il se trouve que mon projet était justement de manipuler le GPIO du raspberry pour créer une application domotique en quelque sorte.

  3. Fred dit :

    Denis, si c’est pour piloter quelques GPIO de ton rapsberry, il y a la solution de webapp, quelques lignes de java sur android pour déclarer un écran,les droits, puis tout le reste se passe par des pages html programmé sur ton RPI avec un petit serveur écrit en python.
    Perso le Java me donne des boutons. je préfère le C(rapide en exécution) ou le python(rapide et intuitif a programmer).
    « Les goûts et les couleurs ça ne se discute pas. »

  4. demahrix dit :

    salut j’aimerais savoir si c’est possible de fait un script qui lance un appel et attends quelques secondes pour lance un deuxième appel

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *