May 19, 2024

Wiki

Python

Aide

edit SideBar

Search

Introduction Android

Objectifs et prérequis

Ce TP vise à

  • créer une application minimale avec interface pour android ;
  • prendre en main *l'émulateur android* qui l'exécute ;

Pour développer une application android, on peut utiliser Eclipse ou IDEA. Pour installer ces environnements chez soi:

Ce TP est largement inspiré du tutoriel android à l'adresse http://developer.android.com/training/basics/firstapp/creating-project.html

Le programme Hello World pour Android

On créé d'abord l'émulateur, le programme puis on l'exécute enfin dans l'émulateur.

Configuration du dispositif émulé

A ce jour il existe beaucoup de versions d'Android (de 1.1 à 4.3). Les applications développées pour la version 1.1 fonctionnent (à peu près) sous la 4.3 mais pas l'inverse.

La première étape consiste ainsi à configurer l'émulateur pour un dispositif virtuel (Android Virtual Device (AVD)) qui exécutera une version choisie d'Android et à nommer ce dispositif.

  1. Window > Android Virtual Divice Manager puis New
  2. On complète le formulaire :
    • Name : emu_nexus_7 (c'est le nom du dispositif virtuel)
    • Device : Nexus 7
    • Target : Android 4.X (ceci devrait être rempli automatiquement, puisque c'est la version de l'OS sur cette tablette)
    • CPU : choisir éventuellement la version du CPU de son ordi ; cela permet d'avoir un émulateur plus rapide que dans la version de base
    • OK.

Travaux pratiques

  • Créer un émulateur adapté à une tablette Nexus S.

Création d'un nouveau projet (dans Eclipse)

  1. File > New > Android Application Project
  2. Remplir le formulaire avec les données suivantes :
    • Application Name est le nom de l'application telle qu'elle sera publiée : "MonHelloWorld"
    • Project Name est le nom du projet et du dossier de stockage sur le DD : "android_monhelloworld"
    • Package name : "fr.iutbm.dupond.android_monhelloworld" (c'est l'espace de nom qui permet de définir de manière unique les éléments XML du projet)
    • Minimum Required SDK : on choisit API8 ; cela signifie que l'application ne pourra pas être installé sous un OS plus ancien qu'API8. Cela ne signifie pas non plus qu'elle s'exécutera bien sur cette version. Cela dépendra du niveau des classes embarquées dans l'application.
    • Target SDK : le niveau que l'on vise avec cette application. Usuellement l'API la plus élevée (API17)
    • Compile With : la version des API qui vont servir à la compilation. Usuellement l'API la plus élevée (API17).
    • Theme : de None à Holo Light with Dark Action Bar. Choisir le plus récent.

Première Exécution

Une application est faite pour être exécutée dans un émulateur ou un support physique.

  • Pour lancer l'émulateur emu_nexus_7 à l'IUT, dans le répertoire tools du sdk android, exécuter

./emulator-arm -avd emu_nexus_7

  • Pour lancer un émulateur ailleurs :
    1. lancer l'AVD manager : Window > Android Virtual Divice Manager
    2. Dans l'explorateur de paquetage d'Eclipse, clic droit sur le projet retenu et Run As >Android Application

Parfois, Eclipse ne gère pas correctement la compilation automatique. Dans une telle situation, penser à nettoyer la classes compilées (Project > Clean) et à les reconstruire (Project > Build).

Une fois l'application lancée, on a les éléments suivants:

  • "MonHelloWorld" dans la barre de titre : c'est le nom de l'application
  • "Hello World!" où le texte
  • "MainActivity!" est le nom de l'activité lanceur du projet

Travaux pratiques : modifier le texte de l'application

Dans l'explorateur de paquetage aller dans res et modifier le nom de l'application ainsi que le texte qui s'affiche. Vérifier ce que vous avez fait.

Charger l'application sur un mobile physique

Plutôt que de valider l'application sur l'émulateur, on peut le faire directement sur le téléphone près quelques réglages :

  1. Spécifier dans le manifest que l'application est debuggable: ajouter l'attribut android:debuggable="true" à l'élément <application>.
  2. Activer le menu Débogage USB sur le téléphone dans Paramètres > Applications > Développement.... Parfois il faut activer le mode développeur.
  3. Configurer son OS pour qu'il détecte le téléphone (sous Ubuntu/Hardy pour un telephone HTC/Hero...)
    1. créer le fichier /etc/udev/rules.d/51-android.rules
    2. y écrire SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
    3. changer les droits sur le fichier : chmod a+rx /etc/udev/rules.d/51-android.rules
  4. Sous Eclipse, en utilisant exécuter ou déboguer, vous aurez alors le choix entre l'émulateur et le téléphone.

Remarque : pour un autre téléphone, modifier SYSFS{idVendor}=="0bb4" selon la page http://developer.android.com/guide/developing/device.html

Page Actions

Recent Changes

Group & Page

Back Links