Licence CC BY-NC-SA

Créez des applications pour Android

Ce contenu est obsolète. Il peut contenir des informations intéressantes mais soyez prudent avec celles-ci.

Bonjour à tous et bienvenue dans le monde merveilleux du développement d'applications Android !

Bugdroid, la mascotte d'Android

Avec l'explosion des ventes de smartphones ces dernières années, Android a pris une place importante dans la vie quotidienne. Ce système d'exploitation permet d'installer des applications de toutes sortes : jeux, bureautique, multimédia, etc. Que diriez-vous de développer vos propres applications pour Android, en les proposant au monde entier via le Play Store, le marché d'applications de Google ? Eh bien figurez-vous que c'est justement le but de ce cours : vous apprendre à créer des applications pour Android !

Cependant, pour suivre ce cours, il vous faudra quelques connaissances :

  • Les applications Android étant presque essentiellement codées en Java, il vous faut connaître ce langage.
  • Connaître un minimum de SQL pour les requêtes. Si vous ne connaissez absolument rien en SQL, vous pourrez tout de même suivre le cours dans son intégralité, mais constituer votre propre base de données sans théorie me semble risqué.
  • Et enfin, être un minimum autonome en informatique : vous devez par exemple être capables d'installer Eclipse tout seul (vous voyez, je ne vous demande pas la lune).

Rien de bien méchant, comme vous pouvez le voir. Mais le développement pour Android est déjà assez complet comme cela, ce serait bien trop long de revenir sur ces bases-là. Ce cours débutera cependant en douceur et vous présentera d'abord les bases essentielles pour le développement Android afin que vous puissiez effectuer des applications simples et compatibles avec la majorité des terminaux. Puis nous verrons tout ce que vous avez besoin de savoir afin de créer de belles interfaces graphiques ; et enfin on abordera des notions plus avancées afin d'exploiter les multiples facettes que présente Android, dont les différentes bibliothèques de fonctions permettant de mettre à profit les capacités matérielles des appareils.

À la fin de ce cours, vous serez capables de réaliser des jeux, des applications de géolocalisation, un navigateur Web, des applications sociales, et j'en passe. En fait, le seul frein sera votre imagination !

Open Handset Alliance

Installation des versions d'Android

Le bloc notes que nous allons développer dans un TP

Les bases indispensables à toute application

  1. L'univers Android

    1. La création d'Android

    2. La philosophie et les avantages d'Android

    3. Les difficultés du développement pour des systèmes embarqués

    4. Le langage Java

  2. Installation et configuration des outils

    1. Conditions initiales

    2. Le Java Development Kit

    3. Eclipse, l'ADT et le SDK

    4. L'émulateur de téléphone : Android Virtual Device

    5. Test et configuration

    6. Configuration du vrai terminal

  3. Votre première application

    1. Activité et vue

    2. Création d'un projet

    3. Un non-Hello world!

    4. Lancement de l'application

  4. Les ressources

    1. Le format XML

    2. Les différents types de ressources

    3. L'organisation

    4. Ajouter un fichier avec Eclipse

    5. Récupérer une ressource

Création d'interfaces graphiques

  1. Constitution des interfaces graphiques

    1. L'interface d'Eclipse

    2. Règles générales sur les vues

    3. Identifier et récupérer des vues

  2. Les widgets les plus simples

    1. Les widgets

    2. Gérer les évènements sur les widgets

  3. Organiser son interface avec des layouts

    1. LinearLayout : placer les éléments sur une ligne

    2. RelativeLayout : placer les éléments les uns en fonction des autres

    3. TableLayout : placer les éléments comme dans un tableau

    4. FrameLayout : un layout un peu spécial

    5. ScrollView : faire défiler le contenu d'une vue

  4. Les autres ressources

    1. Aspect général des fichiers de ressources

    2. Les chaînes de caractères

    3. Les drawables

    4. Les styles

    5. Les animations

  5. TP : un bloc-notes

    1. Objectif

    2. Spécifications techniques

    3. Déboguer des applications Android

    4. Ma solution

    5. Objectifs secondaires

  6. Des widgets plus avancés et des boîtes de dialogue

    1. Les listes et les adaptateurs

    2. Plus complexe : les adaptateurs personnalisés

    3. Les boîtes de dialogue

    4. Les autres widgets

  7. Gestion des menus de l’application

    1. Menu d'options

    2. Menu contextuel

    3. Maintenant que vous maîtrisez les menus, oubliez tout

  8. Création de vues personnalisées

    1. Règles avancées concernant les vues

    2. Méthode 1 : à partir d'une vue préexistante

    3. Méthode 2 : une vue composite

    4. Méthode 3 : créer une vue en partant de zéro

Vers des applications plus complexes

  1. Préambule : quelques concepts avancés

    1. Généralités sur le nœud <manifest>

    2. Le nœud <application>

    3. Les permissions

    4. Gérer correctement le cycle des activités

    5. Gérer le changement de configuration

  2. La communication entre composants

    1. Aspect technique

    2. Les intents explicites

    3. Les intents implicites

    4. La résolution des intents

    5. Pour aller plus loin : navigation entre des activités

    6. Pour aller plus loin : diffuser des intents

  3. Le stockage de données

    1. Préférences partagées

    2. Manipulation des fichiers

  4. TP : un explorateur de fichiers

    1. Objectifs

    2. Spécifications techniques

    3. Ma solution

    4. Améliorations envisageables

  5. Les bases de données

    1. Généralités

    2. Création et mise à jour

    3. Opérations usuelles

    4. Les curseurs

Concepts avancés

  1. Le travail en arrière-plan

    1. La gestion du multitâche par Android

    2. Gérer correctement les threads simples

    3. AsyncTask

  2. Les services

    1. Qu'est-ce qu'un service ?

    2. Gérer le cycle de vie d'un service

    3. Créer un service

    4. Les notifications et services de premier plan

    5. Pour aller plus loin : les alarmes

  3. Le partage de contenus entre applications

    1. Côté client : accéder à des fournisseurs

    2. Créer un fournisseur

  4. Créer un AppWidget

    1. L'interface graphique

    2. Définir les propriétés

    3. Le code

    4. Déclarer l'AppWidget dans le Manifest

    5. Application : un AppWidget pour accéder aux tutoriels du Site du Zéro

Exploiter les fonctionnalités d'Android

  1. La connectivité réseau

    1. Surveiller le réseau

    2. Afficher des pages Web

    3. Effectuer des requêtes HTTP

  2. Apprenez à dessiner

    1. La toile

    2. Afficher notre toile

  3. La localisation et les cartes

    1. La localisation

    2. Afficher des cartes

  4. La téléphonie

    1. Téléphoner

    2. Envoyer et recevoir des SMS et MMS

  5. Le multimédia

    1. Le lecteur multimédia

    2. Enregistrement

  6. Les capteurs

    1. Les différents capteurs

    2. Opérations génériques

    3. Les capteurs de mouvements

    4. Les capteurs de position

    5. Les capteurs environnementaux

  7. TP : un labyrinthe

    1. Objectifs

    2. Spécifications techniques

    3. Ma solution

    4. Améliorations envisageables

Annexes

  1. Publier et rentabiliser une application

    1. Préparez votre application à une distribution

    2. Les moyens de distribution

    3. Rentabilisez votre application

  2. L'architecture d'Android

    1. Le noyau Linux

    2. Le moteur d'exécution d'Android



Remerciements

Pour leurs critiques perspicaces, je tiens à remercier:

  • les bêta-testeurs.
  • Hilaia, mon ancien validateur.
  • Remerciements spéciaux à John et AnnaStretter pour leurs conseils et critiques pertinentes.
  • Et bien sûr l'exceptionnel Andr0 pour tout le travail abattu !

Pour l'icône laide qui me fait perdre trois lecteurs par jour, merci à Bérenger Pelou.

6 commentaires

Le tuto est bien :) cependant, il manque un tuto sur le java sur le ZDS....et surtout, Eclipse avec ADT a dignement laissé la place à android studio, il faudrait penser à dépoussiérer le tuto en conséquence :p

EDIT : Et la partie sur les intents est complètement incompréhensible…il faudrai la corriger

+3 -0

Bonjour, pour l'avoir rapidement "feuilleter", le tutoriel semble très détaillé ! Merci beaucoup. Je voulais savoir quel niveau faut-il avoir en Java pour pouvoir suivre ce cours, si il suffit de connaître les bases ou qu'au contraire, il faut vraiment maîtriser le langage. Encore merci !

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte