Chapitre 1: Premiers pas avec Android

Image non disponible

Android2ee


La Formation et l'Expertise Android à votre service


CommeAirFrance, Orange,Capgemini, Atos WorldLine et bien d'autres.
Vous aussi,
Bénéficiez des meilleures formations Android du moment


Cet article est extrait du livre « Android, A Complete Course », disponible sur Android2ee.com.

Les exemples ou les programmes présents dans cet ouvrage sont fournis pour illustrer les descriptions théoriques. Ce code est libre de toute utilisation, mais n'est pas distribuable.

La distribution du code est réservée au site :

http://android2ee.com.

La propriété intellectuelle du code appartient à :

Mathias Séguy.

ISBN : 979-10-90388-00-0

Copyright © 2011 by Mathias Séguy






Android2EE est référencé en tant qu'organisme de formation, vous pouvez faire prendre en charge tout ou partie du montant de cette formation par votre OPCA. Les formations Android d'Android2EE sont éligibles au titre duDIF et CIF.

Commentez

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Notions fondamentales

Avant d'expliquer les interfaces graphiques, nous présentons de manière succincte les notions fondamentales d'une application Android.

I-A. Une application Android

Avant tout, il faut avoir en tête le principe de base de la programmation Android et ses composants principaux. Il y a quatre types d'éléments distincts :

  • les activités (activities) : ce sont les programmes qui sont une activité pour l'utilisateur. Ils possèdent donc un GUI ;
  • les fournisseurs de contenus (content provider) : ils offrent un niveau d'abstraction pour l'accès à toutes les données stockées sur le terminal. Il est encouragé d'ouvrir ces données aux autres applications. Les données sont identifiées au moyen d'URI (Unified Ressources Identifier) ;
  • les services : ils ont une durée de vie infinie (contrairement aux activités et aux fournisseurs de données). Il faut les voir comme des démons qui tournent en tâche de fond ;
  • les intentions (intents) : Ce sont des messages systèmes qui servent de support événementiel pour permettre le dialogue entre applications. On répond et on envoie des intentions qui lancent ou communiquent avec les activités.
Image non disponible

Une activité envoie des intentions au système qui identifie l'activité associée et soit la lance (startActivity), soit lui parle au moyen du BroadCastReceiver. Un BroadCastReceiver est une interface qui est implémentée par l'activité écoutante.

Une activité se lie à un service par la méthode Bind et soit interagit directement avec les méthodes du service, soit écoute les évènements envoyés par celui-ci.

Une activité peut demander, via un ContentResolver, au système d'effectuer une action CRUD sur des données identifiées par une URI. Le système trouve le ContentProvider qui gère ses données et lui demande d'effectuer l'action demandée. Le résultat de l'action est renvoyé à l'activité. Un service peut aussi utiliser ce mécanisme pour effectuer des actions CRUD sur des données.

I-B. La structure d'un projet

Un projet possède la structure normalisée. Il y a deux types de fichiers, ceux que vous utilisez tout le temps, et ceux qui ne sont là que pour la compilation et le déploiement.

Les fichiers utilisés en permanence sont :

  • le manifeste (AndroidManifest.xml) qui décrit l'application à construire et ses composants ;
  • le dossier res (pour ressources) qui contient les ressources du projet (les layouts, les chaînes de caractères, les images, les fichiers internes, les fichiers XML, les couleurs et thèmes) dont les sous-dossiers sont :

    • Drawable (pour les images, usuellement vous trouverez trois dossiers, un par qualité haute, moyenne, faible),
    • Layout (pour la définition des différents fichiers de layouts des activités qui déclarent et positionnent les composants graphiques),
    • Values (pour les chaînes de caractères, les couleurs, les thèmes, les préférences…),
    • Raw (pour les fichiers),
    • XML (pour les fichiers XML) ;
  • le dossier src pour les sources ;
  • et enfin le dossier test pour les tests.

    Les fichiers utilisés pour la compilation et le déploiement sont :

  • le fichier de build ant (build.xml) qui construit le projet ou son homologue maven ;

  • les fichiers properties default et local qui sont utilisés par le build ;

  • le dossier asset contient des fichiers pour le déploiement ;

  • le dossier bin (pour binaries) qui contient les classes compilées ;

  • le dossier gen (pour generated) qui contient le code source généré par les outils de compilation Android ;

  • le dossier libs (pour librairies) qui contient les librairies.

Le fichier manifeste est un élément clef du projet, il définit :

  • votre projet et sera interprété par le système et l'AndroidStore ;
  • les dépendances systèmes de votre projet (par exemple : la version du système, les instruments nécessaires, la géolocalisation) ;
  • la version de votre projet (un nom de version name et un numéro de version (un Int)) ;
  • les différents composants de votre application (Activity, Service, ContentProvider).

Comme Android a pour vocation de lancer votre application sur un ensemble d'appareils distincts, il est préconisé que vous mettiez en place l'arbre suivant au niveau de vos ressources :

  • layout ;
  • layout-small ;
  • layout-normal ;
  • layout-large ;
  • layout-xlarge ;
  • drawable ;
  • drawable-ldpi ;
  • drawable-mdpi ;
  • drawable-hdpi ;
  • values ;
  • values-fr || values-en (si vos strings par défaut sont en anglais, mettez values-fr, sinon values-en).

Cet arbre vous permet d'avoir les layouts par défaut puis ceux spécifiques à chaque taille d'écran, vos images par défaut puis celles spécifiques à chaque densité d'écran et enfin vos chaînes de caractères par défaut puis celles anglaises (ou françaises si par défaut vos chaînes sont anglaises).

Il faut toujours mettre le dossier par défaut, car personne ne sait si lors de futures versions d'Android de nouveaux paramètres n'apparaîtront pas (xlarge est apparu à la version 9 du système).

I-C. Exemple d'application

Pour donner vie à ces propos, voici un exemple typique de structure de projet que nous pouvons avoir sous Android, une application permettant d'écouter des médias audio et/ou vidéo présents sur le téléphone :

Image non disponible

Cette application est représentée :

  • par trois activités qui sont :

    • WelcomeActivity : la page d'accueil de votre application,
    • BrowseActivity : la page vous permettant d'afficher les médias présents,
    • PlayerActivity : celle qui lira le média demandé ;
  • par un service :

    • PlayserService : le service tournant en tâche de fond lisant le flux du média, ce qui nous permettra de ne pas être dépendant du thread UI ;
  • par un BroadCast :

    • BroadCastReceiver : il nous permet de pouvoir échanger des informations entre le Service « PlayerService » et l'Activity « PlayerActivity » ;
  • et enfin par un ContentProvider :

    • MediaStore : nous permet de pouvoir récupérer les informations sur les médias présents sur le téléphone .

II. Android2EE: La Formation et l'Expertise Android à votre service

Image non disponible

Android2EE


Android2EE espère que cet article vous a été utile et profitable.
En tant qu'experts et formateurs sur le développement Android, nous serions heureux de vous accueillir à nos formations pour pouvoir continuer à vous expliquer l'art du développement Android (nous avons des tonnes de choses à vous raconter). Nous sommes persuadés qu'elles sont excellentes, les stagiaires qui les ont suivies le sont aussi.
Alors si vous souhaitez devenir un excellent développeur Android, il ne vous reste plus que deux choses à faire:

  • nous envoyer un mail à
  • convaincre votre service R.H. de l'importance de cette formation pour vous et pour l'entreprise.



Pour plus de renseignements, n'hésitez pas à cliquer sur les liens ci-dessous.



CommeAirFrance, Orange,Capgemini, Atos WorldLine et bien d'autres.
Vous aussi,
Bénéficiez des meilleures formations Android du moment



Android2EE est référencé en tant qu'organisme de formation, vous pouvez faire prendre en charge tout ou partie du montant de cette formation par votre OPCA. Les formations Android d'Android2EE sont éligibles au titre duDIF et CIF.

III. Récupération des tutoriels et lecture des autres chapitres du livre

Vous pouvez lire l'ensemble de l'ouvrage sur Android2EE, à cet adresse Livre en consultation. Les 28 chapitres sont disponibles. Un tutorial sera bientôt disponible sur le site Android2EE.

IV. Articles, conférences et autres tutoriaux made in Android2EE

Vous pouvez trouver d'autres articles sur developpez.com rédigés par Android2EE.

Vous pouvez trouver les projets Android open sources d'Android2EE sur GitHub.

Android2EE sur Github

GDirectionsApiUtils pour vous simplifiez l'utilisation du service REST Google Api Direction (les itinéraires entre deux points).

Le MythicServiceHelper est un projet simplifiant la communication entre les services et les activités. Il est mieux d'utiliser, à l'heure d'aujourd'hui, EventBus ou Otto. Vous pouvez aller le voir quand même par curiosité.

Le Bluetooth avec Android expliqué. Ce projet est un chat bluetooth qui vous montre, par l'exemple, comment mettre en place une communication BlueTooth entre deux appareils Android.

Le projet ForecastYahooRest a pour objectif de vous expliquer comment mettre une architecture saine pour vos projets Android pour effectuer des appels REST. Ce projet est lié à la conférence "An Android Journey" que vous pouvez retrouver sur Android2ee.

Le projet SignInWithGoogleTutorialvous explique comment mettre l'authentification Google au sein de vos applications. Il est lié à la conférence Google Sign In que vous pouvez retrouver sur Android2EE.

Vous pouvez trouver les supports des conférences d'Android2EE sur SlideShared.

Android2EE sur SlideShare

Retrouvez la liste des tutoriaux Android2EE de la formation complète. C'est pas ma meilleure conférence :)

An Android Journey La conférence 2014 d'Android2EE qui vous donne toutes les astuces, les bonnes pratiques et les bons conseils à mettre en place dans vos applications pour en faire des applications exceptionnelles.

ActionBarCompat Cette conférence vous explique comment mettre en place l'ActionBar dans vos applications pour toutes les versions du système en utilisant l'ActionBarCompat.

GoogleSignIn L'authentification Google vous est expliquée dans cette conférence.

Android ProTips Cette conférence a été donnée à la DroidCon Paris 2013 pour vous présenter les meilleurs conseils sur le développement Android donnée aux GoogleIo. Ce sont mes bonnes pratiques favorites.

Architecture Android Une peu d'architecture, ça vous dit? Cette conférence est dédiée à l'architecture, quels sont les problèmes rencontrés et les bonnes pratiques à mettre en place.

Android, un nouveau futur s'ouvre à nous Cette conférence, donnée à Brazzaville, présente les enjeux de la mobilité et en particulier ma vision du futur relative à Android.

Combining the power of Eclipse with Android Cette conférence, donnée à l'EclipseDay 2012, présente comment utiliser la DDMS et chasser les fuites mémoires au sein de vos applications Android.

A Quick OverviewCette conférence, donnée au CocoHeads Toulouse en 2012, est une introduction à la programmation Android.

Android A Quick Course @DevoxxFr Cette présentation est un extraie de la conférence "Android A Quick Course", donnée à DevoxxFrance, pour apprendre le développement Android. Les vidéos (3 heures tout de même sont disponibles sur le site Android2EE ou sur Parleys)

Les vidéos de certaines de ces conférences sont disponibles à l'adresse suivante : Les vidéos


V. Le site Android2ee, une référence pour le développement Android.

Le site Android2EE vous propose des tutoriels, des articles, des vidéos, des conférences, des eBooks en libre consultation pour monter en compétence sur la technologie Android.

Vous trouverez tout cela dans la partie « Open Resources ».

N'hésitez plus visitez-le ! Android2EE

VI. Android2ee vous présente l'Ebook de programmation Android

Le nouveau système d'exploitation de Google pour les téléphones portables et les nouvelles tablettes est là. Sa réputation est solide, il envahit le monde de la téléphonie, il est ouvert et offre des outils de développement Java au monde des programmeurs. Il ouvre les portes du développement mobile à tous les développeurs objets avec un coût minime pour la montée en compétence. Une seule question se pose :

Êtes-vous prêts ?

L'objectif de ces livres est très clair : vous permettre en un temps record d'être autonome en programmation Android. Si vous êtes un programmeur Java (débutant ou confirmé), le but est que vous soyez autonome en moins de dix jours. C'est cet objectif qui est à l'origine de ce livre, permettre aux collaborateurs de mon entreprise de monter en compétence sur cette technologie avec rapidité et efficience. Vous serez alors à même de concevoir une application, de l'implémenter, de la tester, de l'internationaliser et de la livrer à votre client.

Lancez-vous dans la programmation Android et faites-vous plaisir !

Vous serez aussi capable de connaître et comprendre quelles sont les considérations à avoir lorsque l'on a à charge une application Android en tant que professionnel de l'informatique. Quelle est la stratégie de tests à utiliser ? Comment signer son application ? Comment la déployer ? Comment mettre en place la gestion du cycle de vie de l'application ? Comment implémenter l'intégration continue ?

Soyez efficient dans l'encadrement de vos projets Android d'entreprise.


L'achat d'un EBook vous donne accès à l'ensemble des tutoriaux Android2EE, plus de 50 projets Android qui vous apprendrons à mettre en place une notion spécifique (SlidingDrawer, Parsing d'un service REST, Mise en place d'un service, d'un ContentProvider...). Vous pouvez dès maintenant vous lancer dans la programmation Android, n'hésitez pas faîtes vous plaisir, il y a 75% de réduction sur les EBooks en ce moment:

Apprendre la programmation Android avec les EBooks Android2EE

Android, A Complete Course, From Basics To Enterprise Edition (fr).

Android, A Quick Course (fr).

Android, An Entreprise Edition Vision (fr).

Les eBooks sont disponibles en français et en anglais, à votre convenance.


Nota Bene: l'ouvrage "Android, A Complete Course, From Basics To Enterprise Edition" réunit, au sein d'un même document, les livres "Android, A Quick Course" et "Android, An Enterprise Edition Vision" permettant au lecteur d'avoir dans un même document la totalité des préoccupations liées à la mise en place de projets Android, de la montée en compétence en tant que développeur à la gestion du cycle de vie du projet.

VII. Remerciements

Nous remercions milkoseck pour sa relecture orthographique.

N'hésitez pas à commenter cet article ! Commentez Donner une note à l'article (0)

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2014 Mathias Seguy. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.