Formation android

Formation android

Les composants principaux d'une application Android

Les composants principaux des applications sont les éléments constitutifs essentiels d'une application Android. Ces composants sont faiblement couplés par le manifeste AndroidManifest.xml du manifeste d'application avec lequel ils interagissent.
Quatre composants principaux peuvent être utilisés dans une application Android:

Activities : Ils ont l'interface utilisateur et gérer l'interaction de l'utilisateur à l'écran du smartphone

Services : Ils traitent le traitement en arrière-plan avec une application.

Broadcast Receivers (en français Récepteurs de diffusion) : Ils gèrent la communication entre Android OS et les applications.

Content Providers (en français Fournisseurs de contenu) : Ils gèrent les problèmes de gestion des données et des bases de données.

 

Android Content Providers

Un composant fournisseur de contenu (ContentProvider) fournit des données d'une application à d'autres sur demande. Ces demandes sont traitées par les méthodes de la classe ContentResolver. Les données peuvent être stockées dans le système de fichiers, la base de données ou ailleurs.

Un fournisseur de contenu est implémenté en tant que sous-classe de la classe ContentProvider et doit implémenter
un ensemble standard d'API permettant à d'autres applications d'effectuer des transactions.

 
public class MyContentProvider extends  ContentProvider {
   public void onCreate(){}
}

Les composants principaux d'une application Android

Les composants principaux des applications sont les éléments constitutifs essentiels d'une application Android. Ces composants sont faiblement couplés par le manifeste AndroidManifest.xml du manifeste d'application avec lequel ils interagissent.
Quatre composants principaux peuvent être utilisés dans une application Android:

Activities : Ils ont l'interface utilisateur et gérer l'interaction de l'utilisateur à l'écran du smartphone

Services : Ils traitent le traitement en arrière-plan avec une application.

Broadcast Receivers (en français Récepteurs de diffusion) : Ils gèrent la communication entre Android OS et les applications.

Content Providers (en français Fournisseurs de contenu) : Ils gèrent les problèmes de gestion des données et des bases de données.

 

Android Services

Un service est un composant qui s'exécute en arrière-plan pour effectuer des opérations de longue durée. Par exemple, un service peut jouer de la musique en arrière-plan lorsque l'utilisateur se trouve dans une application différente ou récupérer des données sur le réseau sans bloquer l'interaction de l'utilisateur avec une activité.

Un service est implémenté en tant que sous-classe de la classe de service comme suit:
 

Les composants principaux d'une application Android

Les composants principaux des applications sont les éléments constitutifs essentiels d'une application Android. Ces composants sont faiblement couplés par le manifeste AndroidManifest.xml du manifeste d'application avec lequel ils interagissent.
Quatre composants principaux peuvent être utilisés dans une application Android:

Activities : Ils ont l'interface utilisateur et gérer l'interaction de l'utilisateur à l'écran du smartphone

Services : Ils traitent le traitement en arrière-plan avec une application.

Broadcast Receivers (en français Récepteurs de diffusion) : Ils gèrent la communication entre Android OS et les applications.

Content Providers (en français Fournisseurs de contenu) : Ils gèrent les problèmes de gestion des données et des bases de données.

 

Android Activities

Une activité représente un seul écran avec une interface utilisateur. En bref, l'Activité exécute des actions à l'écran. Par exemple, une application de messagerie peut avoir une activité qui affiche une liste de nouveaux courriers électroniques, une autre activité pour composer un courrier électronique et une autre activité pour lire des courriers électroniques. Si une application a plusieurs activités, l'une d'elles doit être marquée en tant qu'activité marquée  du lancement de l'application.

Une activité est implémentée en tant que sous-classe de la classe d’activité comme suit:

  1. public class MainActivity extends Activity {
  2. }

Les composants principaux d'une application Android

Les composants principaux des applications sont les éléments constitutifs essentiels d'une application Android. Ces composants sont faiblement couplés par le manifeste AndroidManifest.xml du manifeste d'application avec lequel ils interagissent.
Quatre composants principaux peuvent être utilisés dans une application Android:

Activities : Ils ont l'interface utilisateur et gérer l'interaction de l'utilisateur à l'écran du smartphone

Services : Ils traitent le traitement en arrière-plan avec une application.

Broadcast Receivers (en français Récepteurs de diffusion) : Ils gèrent la communication entre Android OS et les applications.

Content Providers (en français Fournisseurs de contenu) : Ils gèrent les problèmes de gestion des données et des bases de données.

 

 Android Broadcast Receiver

Les récepteurs de diffusion(Broadcast Receiver) répondent simplement aux messages de diffusion provenant d'autres applications ou du système. Par exemple, les applications peuvent également initier des émissions pour informer les autres applications que certaines données ont été téléchargées sur le périphérique et sont disponibles pour utilisation. Il s’agit donc du récepteur de radiodiffusion qui interceptera cette communication et déclenchera l’action appropriée.

Un récepteur de diffusion est implémenté en tant que sous-classe de la classe BroadcastReceiver et chaque message est diffusé en tant qu'objet d'intention.

  1. public class MyReceiver extends BroadcastReceiver {
  2. public void onReceive(context,intent){}
  3. }

       Le système d'exploitation Android occupe plus de 80% de part du marché mondial des smartphones et tablettes. Le kit de développement Android permet de développer des applications aux fonctionnalités toujours plus riches. La nouvelle plate-forme Android 6,7,.. va encore plus loin dans ce domaine en proposant une nouvelle ergonomie. Les participants à cette formation apprendront à devenir autonome dans le développement d'applications Android.

Public :

  • Analystes programmeurs,
  • développeurs d'application,
  • experts techniques,
  • chefs de projet techniques.

Objectifs :

  • A l'issue de la formation les stagiaires sauront développer,
  • tester 
  • déployer une application pour les terminaux Android.
  • publier sur playstore une application Android

Pré-requis :

  • Maitriser le langage de programmation Java ou avoir suive le formation "Programmation Java (Java SE) - Niveau 1 ".
  • Avoir une bonne culture d'Internet.
  • Avoir un Terminal Android

 

Contenu pédagogique

Introduction à Android

  • Présentation
  • Architecture de la plate-forme
  • Outils de développement
  • Architecture d'un projet
  • Les composants d'une activité Android

Notre première application Android

  • Création du projet Android
  • Mise en place de la vue via l'IDE Eclipse
  • Edition de la partie de code
  • Gestion de l'internationalisation
  • Finalisation de l'application
  • Déploiement sur un SmartPhone

L'interface graphique

  • Les principes
  • Les layouts
  • Les views
  • Les menus
  • Les polices
  • Les messages d'alerte et Toast
  • Les événements
  • Les adapters

Création de Widgets

  • Par utilisation de l'héritage
  • Par définition d'un fragment

Activity et ressources

  • Le cycle de vie d'une application
  • Les différents types d'Activity
  • Accéder à des fichiers et ressources (audio, image, autre...)
  • Les applications sans IHM
  • Les Intents
  • Configurateur d'application (AndroidManifest.xml)
  • Communication entre Activity (Intent, IntentReceiver et BroadcastReceiver)

Les données persistantes

  • Les préférences
  • ContentProvider : la gestion des données partagées
  • Gérer les données
  • SQLite

Services et multithreading

  • Introduction et anatomie
  • AIDL et services
  • Services, Alarmes et notifications
  • Gestion des Threads sous Android
  • Communication Thread / IHM
  • Communication avec un serveur distant
  • La sécurité

Debugger ses applications

  • Debugger une application
  • Logs, mémoire, mode debug
  • Intégration des sources Android

Description des API

  • Gestion de la connectivité (GSM, WIFI, Bluetooth)
  • La gestion des appels
  • L'Instant Messaging
  • Le SMS
  • Les API médias, caméra
  • L'accéléromètre et le compas
  • Utilisation de la Géo-localisation
  • Utilisation de Cartographie
  • La librairie "Google Play Services"

Sous-catégories

Cette partie  couvre les recettes suivantes:
► Déclaration d'une activité
► Démarrer une nouvelle activité avec un objet d'intention
► Passer d'une activité à l'autre
► Transmettre des données à une autre activité
► Renvoyer un résultat d'une activité
► Sauvegarde de l'état d'une activité
► Stockage des données d'activité persistante
► Comprendre le cycle de vie de l'activité

Le SDK Android fournit un outil puissant pour programmer des appareils mobiles, et la meilleure façon de maîtriser un tel outil est de sauter droit po Bien que vous puissiez lire ce livre du début à la fin, comme c'est un livre de cuisine, il est spécialement conçu pour permettre vous pouvez sauter à des tâches spécifiques et obtenir les résultats immédiatement.
Les activités constituent le bloc de construction fondamental de la plupart des applications Android car la classe d'activité fournit l'interface entre l'application et l'écran. La plupart des applications Android auront au moins une activité, voire plusieurs (mais elles ne sont pas obligatoires). Une application de service d'arrière-plan n'exigera pas nécessairement une activité s'il n'y a pas d'interface utilisateur.
Ce chapitre explique comment déclarer et lancer des activités au sein d'une application et comment gérer plusieurs activités à la fois en partageant des données entre elles, en leur demandant des résultats et en appelant une activité à partir d'une autre.
Ce chapitre explore également brièvement l'objet de l'intention, qui est souvent utilisé en conjonction avec des activités. Les intentions peuvent être utilisées pour transférer des données entre des activités dans votre propre application, ainsi que dans des applications externes, telles que celles incluses avec le système d'exploitation Android (un exemple courant serait d'utiliser l'intention de lancer le navigateur Web par défaut).
Pour commencer à développer des applications Android, accédez à la page Android Studio pour télécharger le nouvel IDE Android Studio et le kit SDK Android:
http://developer.android.com/sdk/index.html

Dans ce chapitre, nous aborderons les sujets suivants:
► Définir et gonfler une mise en page
► Utilisation de RelativeLayout
► Utilisation de LinearLayout
► Création de tables - TableLayout et GridLayout
► Utilisation de ListView, GridView et d'adaptateurs
► Modification des propriétés de disposition pendant l'exécution
► Optimisation des mises en page avec la visionneuse de la hiérarchie


Dans Android, l'interface utilisateur est définie dans une mise en page. Une mise en page peut être déclarée en XML ou créée dynamiquement dans le code. (Il est recommandé de déclarer la mise en page en XML plutôt qu'en code afin de conserver la couche de présentation distincte de la couche d'implémentation.) Une mise en page peut définir un objet Listitem individuel, un fragment ou même toute l'activité. Les fichiers de mise en page sont stockés dans le dossier / res / layout et référencés dans le code avec l'identificateur suivant: R.layout. <Filename_without_extension>.
Android fournit une variété utile de classes de mise en page qui contiennent et organisent des éléments individuels d'une activité (tels que des boutons, des cases à cocher et d'autres vues). L'objet ViewGroup est un objet conteneur qui sert de classe de base pour la famille de classes Layout d'Android. Les vues placées dans une mise en page forment une hiérarchie, la mise en page la plus haute étant le parent.
Android fournit plusieurs types de mise en page intégrés conçus pour des objectifs spécifiques, tels que RelativeLayout, qui permet de positionner les vues par rapport à d'autres éléments. LinearLayout peut empiler les Vues ou les aligner horizontalement, selon l'orientation spécifiée. Le TableLayout peut être utilisé pour disposer une grille de Vues. Dans différentes dispositions, nous pouvons également justifier les Vues avec Gravité et fournir une taille proportionnelle avec le contrôle du poids. Les dispositions et viewGroups peuvent être imbriqués les uns dans les autres pour créer des configurations complexes. Plus d'une douzaine d'objets Layout différents sont fournis pour la gestion des widgets, des listes, des tableaux, des galeries et d'autres formats d'affichage. De plus, vous pouvez toujours dériver des classes de base pour créer vos propres dispositions personnalisées.

Dans ce chapitre, nous aborderons les sujets suivants:
► Insérer un widget dans une mise en page
► Utilisation de graphiques pour montrer l'état du bouton
► Création d'un widget lors de l'exécution
► Création d'un composant personnalisé
► Appliquer un style à une vue
► Transformer un style en thème
► Sélection d'un thème basé sur la version du système d'exploitation Android
introduction
Le terme widgets peut faire référence à plusieurs concepts différents dans Android. Lorsque la plupart des gens parlent de widgets, ils font référence à des widgets d'applications, qui sont généralement visibles sur l'écran d'accueil. Les widgets d'applications sont comme des mini-applications en elles-mêmes car elles fournissent généralement un sous-ensemble de fonctionnalités, en fonction de leur application principale. (Habituellement, la plupart des widgets d'application sont installés avec une application, mais ce n'est pas une exigence.Ils peuvent être des applications autonomes dans un format de widget.) Un exemple commun de widget d'application est une application météo qui offre plusieurs widgets d'application différents pour l'écran d'accueil . Le chapitre 5, Explorer les fragments, AppWidgets et l'interface utilisateur du système, traite des widgets d'application de l'écran d'accueil et fournit des recettes pour créer les vôtres.
Lors du développement pour Android, le terme widgets fait généralement référence à des vues spécialisées placées dans les fichiers de disposition, tels que Button, TextView, CheckBox, etc. Dans ce chapitre, nous allons nous concentrer sur les widgets pour le développement d'applications.
Pour afficher la liste des widgets fournis dans le SDK Android, ouvrez un fichier de présentation dans Android Studio et cliquez sur l'onglet Conception. Sur le côté gauche de la vue Conception, vous verrez la section Widget sous la section Mise en page, comme dans la capture d'écran suivante:
Comme vous pouvez le voir dans la liste, le SDK Android fournit de nombreux widgets utiles, depuis un simple TextView, Button ou Checkbox jusqu'aux widgets beaucoup plus complexes tels que Clock, DatePicker et Calendar. Aussi utiles que soient les widgets intégrés, il est également très facile de développer ce qui est fourni dans le SDK. Nous pouvons étendre un widget existant pour personnaliser ses fonctionnalités, ou nous pouvons créer notre propre widget à partir de zéro en étendant la classe Vue de base. (Nous en donnerons un exemple dans la recette Création d'un composant personnalisé plus tard.)
L'aspect visuel des widgets peut également être personnalisé. Ces paramètres peuvent être utilisés pour créer des styles, qui à leur tour peuvent être utilisés pour créer des thèmes. Tout comme avec d'autres environnements de développement, la création d'un thème offre l'avantage de changer facilement l'apparence de l'ensemble de notre application avec un minimum d'effort. Enfin, le SDK Android propose également de nombreux thèmes et variantes intégrés, tels que le thème Holo d'Android 3/4 et le thème Material d'Android 5. (Android 6.0 n'a pas publié de nouveau thème.)