26 août 2011

Comprendre Android avant le "Hello World!"

On y est mon premier bout de code va bientôt pointer son nez.  Tout d'abord je vais expliquer (rapidement) le fonctionnement du système Android après on fera ce "Hello World".
D'après la documentation officielle il faut comprendre que les applications destinées à Android sont formées de quatre composants principaux qui sont: Activities, Services, Content providers, Broadcast receivers. Pas besoin de traduire ces termes qui sont assez évidents. Bon d'accord un petit éclairage s'impose.

  • Activity: désigne une activité. Sous Android chaque section d'une application correspond à une activité par exemple pour l'application Google+ choisie au hasard, l'écran d’accueil est une activity, l'écran des flux correspond à une autre activity ainsi pour chaque action à effectuer on à affaire à une activity.
  • Service: les services sont des tâches qui sont effectuées en arrière plan. Soit pour faire du traitement sur des données, soit justement pour récupérer des données sur une base locale ou distante. Le meilleur exemple de leur utilisation est celui d'un lecteur de flux RSS qui se connecte en aux différents sites pour récupérer le contenu des flux.
        Les services n'ont pas d'interface utilisateur comme pour les activities.
  • Content providers: Si votre application veut mettre à disposition des données pour d'autres applications, les content providers sont là pour ça. L'exemple même du content provider est la mise à disposition pour les applications du carnet d'adresse ou des données de l'agenda. Pratique pour faciliter les interactions entre applications sans dévoiler le cœur même de l'application. 
       Les content providers donnent des droits en lecture et en écriture aux données qu'ils fournissent.
  • Broadcast receiver: correspondent à des données diffusées à tout le système comme le niveau de batterie. les broadcast receivers n'ont pas d'interface utilisateur mais peuvent afficher des informations dans la barre de notification.

Maintenant que les mécanismes de fonctionnement du système ont été passé en revue, on se lance dans la création de projet Android sous Eclipse.

Normalement il ya un fichier manifest.xml qui indique à chaque programme quels sont les composants mis à sa disposition pour fonctionner. Mais vu qu'on utilise Eclipse magie de l'IDE, ce fichier est automatiquement généré. Donc je l'expliquerai en détail quand ce sera necessaire. Allez je blablate trop on se lance.

Sous Eclipse:
  • On crée un nouveau projet avec les étapes suivantes: File>New> Android Project.
  • On remplit le champ Project name avec le nom du futur programme allez on va mettre KodMobil.
    Nom du projet Android
  • On garde les valeurs par défaut pour le workspace ou on modifie selon le choix.

Dans la section Build Target on choisit la version de SDK sur laquelle on veut travailler. comme je le disais dans l'article précédent; il faut privilégier la version 2.1 du SDK 
Choix de la version du SDK

  • Ensuite on s'occupe de la section Properties dont la première composante est Application name. on y entre donc le nom de l'application qui peut être différent de celui du projet mais libre à chacun d'y mettre ce qu'il veut.
  • On entre ensuite un Package name. Pour ceux qui ont déjà fait du Java ça correspond au paquet qui contiendra tout votre code source.
Propriétés de l'application
NB: si vous avez le message suivant: Package name must have at least two identifiers, sachez qu'un package doit avoir deux identifiants séparés par un point. exemple: kod.mobil

C'est bientôt finit, 
  • On conserve le contenu de la case Create Activity qui correspond au nom de l'activity dédié à notre programme. on pourra en créer d'autres dans le corps de nos futurs programmes.
  • Pour finir, on entre la Min SDK version qui correspond à la version minimum de l'API  à utiiser et doit être la même que pour votre build target. Ce numéro se trouve à droite de la version du SDK correspondant.
Sélection de la version minimum de l'API


Voilà on y est le plus dur reste à faire: 
  • Cliquer sur Next. Quoi, vous ne vous attendiez pas à ça?
Notre projet est prêt, on peut y voir différents dossiers et fichiers dont le fameux AndroidManifest.xml qui définit toutes les variables environnementales pour indiquer au système les composantes que l'application utilise.

Arborescence de projet Android


Donc la prochaine étape sera notre "Hello World". On va finir par y arriver.