Application de messagerie simple sur Android

Formation programmation, tutoriel & guide de travaux pratiques en pdf.

Fonctionnalités d’Android

Android a été conçu pour intégrer au mieux les applications existantes de Google comme le service de courrier Gmail, l’agenda Google Calendar ou encore la cartographie Google Maps.
Voici quelques fonctionnalités proposées par Android classées par version :
 Android version 1.5 (Cupcake)
• Enregistrement et lecture des vidéos.
• Mise en ligne directe des vidéos sur YouTube.
• Mise en ligne directe des photos Picasa.
• Prise en charge du Bluetooth A2DP.
• Dossiers dynamiques et widgets pour le home.
• Copier/coller étendu aux pages web.
• Nouvelle version du clavier virtuel.
 Android version 1.6 (Donut)
• L’application Galerie permet d’effacer plusieurs photos à la fois.
• Amélioration de l’Android Market.
• Amélioration de la vitesse de la recherche vocale et intégration étendue à plus d’applications
natives.
• Prise en charge sur une seule application de la prise de photo et de l’enregistrement vidéo.
• Possibilité de rechercher simultanément dans les favoris, les historiques, les contacts et sur Google depuis le home via le widget recherche.
• Moteur Text-to-speech.
• Prise en charge de plusieurs résolutions d’écran.
 Android version 2.0/2.1 (Éclair)
• Interface utilisateur revue (lock screen et lanceur d’application).
• Fonds d’écran animés.
• New browser interface avec prise en charge du HTML5.
• Prise en charge du protocole Microsoft Exchange.
• New contact lists.
• Prise en charge du Bluetooth 2.1.
• Amélioration du clavier virtuel.
• Prise en charge en natif du flash et du zoom numérique pour des appareils photos.
• Amélioration du ratio blanc/noir sur les fonds.
• Gestion multi-comptes Gmail et ajout de la synchronisation avec Facebook.
 Android version 2.2
• Augmentation de la performance et de la vitesse.
• Fonctionnalité de Hot spot Wifi.
• Partage de contact sur bluetooth.
• Mise à jour automatique des applications.

Architecture Android

Le diagramme suivant illustre les composants principaux du système d’exploitation Android.
Chaque section sera décrite dans ce qui suit :
Android est basé sur un kernel linux 2.6.xx.
Au-dessus de cette couche, on retrouve les librairies C/C++ utilisées par un certain nombre de composants du système Android.
Au-dessus des librairies, on retrouve l’Android Runtime. Cette couche contient les librairies cœurs du Framework ainsi que la machine virtuelle exécutant les applications.
Au-dessus de la couche « Android Runtime » et des librairies cœurs, on retrouve le Framework permettant au développeur de créer des applications. Enfin au-dessus du Framework, il y a les applications.

Applications

Android est fourni avec un ensemble d’applications dont un client email, une application SMS, un calendrier, un service de cartographie, un navigateur… toutes écrites en JAVA.

Framework de développement

En fournissant une plateforme de développement ouverte, Android offre aux développeurs la possibilité de créer des applications extrêmement riches et innovantes. Les développeurs sont libres de profiter du matériel périphérique et informations sur la localisation d’accès, exécuter des services d’arrière-plan, définir des alarmes, ajouter des notifications à la barre d’état, etc.
Les développeurs ont un accès complet au même framework API utilisé par les applications de base. L’architecture d’application est conçue pour simplifier la réutilisation des composants; n’importe quelle application peut publier ses capacités et n’importe quelle autre application peut alors faire usage de ces capacités (soumis à des contraintes de sécurité appliquées par le framework). Ce même mécanisme permet aux composants d’être remplacés par l’utilisateur.
Toutes les applications sous-jacentes forment un ensemble de services et de systèmes, y compris:
• Un jeu extensible de vues qui peuvent être utilisées pour construire une application.
• Des fournisseurs de contenu qui permettent aux applications d’accéder aux données d’autres applications (telles que les Contacts), ou de partager leurs propres données
• Un gestionnaire de ressources.
• Un gestionnaire de notification qui permet à toutes les demandes d’afficher des alertes personnalisées dans la barre d’état.
• Un gestionnaire d’activité qui gère le cycle de vie des applications et propose une navigation commune.

Bibliothèques

Android dispose d’un ensemble de librairies C / C++ utilisées par les différents composants du système Android. Elles sont offertes aux développeurs à travers le framework Android. En voici quelques unes:
Système de bibliothèque C – une mise en œuvre dérivée de BSD de la bibliothèque C standard du système (libc), destinés aux systèmes embarqués basés sur Linux.
Comme cela a été dit précédemment, Android ne supporte pas la glibc, donc les ingénieurs d’Android ont développé une librairie C (libc) nommé Bionic libc . Elle est optimisée pour les appareils mobiles et a été développée spécialement pour Android.
Les ingénieurs d’Android ont décidé de développer une libc propre à la plateforme Android car ils avaient besoin d’une libc légère (la libc sera chargée dans chaque processus) et rapide (les appareils mobiles ne disposent pas de CPU puissant).
La Bionic libc a été écrit pour supporter les CPU ARM, bien que le support x86 soit présent. Il n’y pas de support pour les autres architectures CPU telles que PowerPC ou MIPS. Néanmoins, pour le marché des appareils mobiles, seulement l’architecture ARM est importante.
Cette libc est sous licence BSD. Elle reprend une grande partie du code des glibc issue d’OpenBSD, FreeBSD et NetBSD.
Ces caractéristiques importantes :
Elle pèse environ 200Ko, soit la moitié de la glibc
L’implémentation des pthreads (POSIX thread) a été complètement réécrite pour supporter les threads de la machine virtuelle Dalvik. De ce fait, la Bionic libc ne supporte pas les threads POSIX
Les exceptions C++ et les « wide char » ne sont pas supportés
Médiathèques – basée sur PacketVideo de OpenCore; les librairies permettant la lecture et l’enregistrement audio et vidéo, ainsi que la gestion des fichiers image, y compris MPEG4, H.264, MP3, AAC, AMR, JPG et PNG.
Le schéma ci-dessous décrit tous les éléments de l’architecture de ces médiathèques:
Figure : architecture de ces médiathèques
• Surface Manager – gère l’accès au sous-système d’affichage et de façon transparente.
• LibWebCore – Le navigateur web présent dans Android est basé sur le moteur de rendu sous licence BSD WebKit.
• WebKit est moteur de rendu, qui fournit une « fondation » sur laquelle on peut développer un navigateur web. Il a été originellement dérivé par Apple du moteur de rendu KHTML pour être utilisé par le navigateur web Safari et maintenant il est développé par KDE project, Apple, Nokia, Google et d’autres. WebKit est composé de deux librairies : WebCore et JavascriptCore qui sont disponibles sous licence GPL.
WebKit supporte le CSS, Javascript, DOM, AJAX. La dernière version a obtenu 100% au test Acid 3. La version de WebKit présent dans Android à été légèrement modifiée pour s’adapter aux appareils mobiles. Ainsi, le moteur de rendu basé sur WebKit présent dans Android supporte l’affichage sur une colonne.
• SGL – le moteur graphique 2D.
• Bibliothèques 3D – une implémentation basée sur OpenGL ES 1.0 API; les bibliothèques utilisent l’accélération 3D matérielle (si disponible).
• FreeType – bitmap et vectoriel de rendu de police.
• SQLite – un moteur de base de données relationnelles puissant et léger, disponible pour toutes les applications.

Android Runtime

Android inclut un ensemble de librairies de base offrant la plupart des fonctionnalités disponibles dans les bibliothèques de base du langage de programmation Java.
Chaque application Android s’exécute dans son propre processus, avec sa propre instance de la machine virtuelle Dalvik. Dalvik a été écrit pour que le dispositif puisse faire tourner plusieurs machines virtuelles de manière efficace. La machine virtuelle Dalvik exécute des fichiers dans l’exécutable Dalvik (. DEX), un format optimisé pour ne pas encombrer la mémoire. La machine virtuelle est la base de registres et fonctionne grâce aux classes compilées par un compilateur Java et transformées dans le format DEX.
La machine virtuelle Dalvik s’appuie sur le noyau Linux pour les fonctionnalités de base telles que le filetage et la gestion de la mémoire de bas niveau.

Linux Kernel

Android est basé sur un kernel linux 2.6 mais ce n’est pas linux. Il ne possède pas de système de fenêtrage natif (X window system). La glibc n’étant pas supportée, Android utilise une libc customisée appelée Bionic libc.
Enfin, Android utilise un kernel avec différents patches pour la gestion de l’alimentation, le partage mémoire, etc. permettant une meilleure gestion de ces caractéristiques pour les appareils mobiles.
Android n’est pas linux mais il est basé sur un kernel linux. Pourquoi sur un kernel linux ?
Le kernel linux a un système de gestion mémoire et de processus reconnu pour sa stabilité et ses performances.
Le model de sécurité utilisé par linux, basé sur un système de permission, est connu pour être robuste et performant. Il n’a pas changé depuis les années 70
• Le kernel linux fournit un système de driver permettant une abstraction avec le matériel. Il permet également le partage de librairies entre différents processus, le chargement et le déchargement de modules à chaud.
• le kernel linux est entièrement open source et il y a une communauté de développeurs qui l’améliorèrent et rajoutent des drivers.
C’est pour les points cités ci-dessus que l’équipe en charge du noyau a décidé d’utiliser un kernel linux.

Conclusion

Dans ce chapitre, nous avons fait une étude de l’art d’Android tout en présentant un bref historique, les fonctionnalités que nous pouvons trouver sur ce système d’exploitation et l’architecture d’Android, à savoir les principaux composants du système.

Introduction
Chapitre 1: État de l’art
Introduction
1. Description
2. Historique d’Android
3. Fonctionnalités d’Android
4. Architecture Android
Conclusion
Chapitre 2: Outils de réalisation d’un projet Android
Introduction
1. Outils logiciels : Environnement technique
1.1) Installation d’Android SDK sous Windows – Déploiement
1 .1.1) Téléchargement des outils
1 .1.2) Installation des outils
1 .1.3) Téléchargement des différents composants d’Android SDK
1 .1.4) Paramétrage d’Eclipse et installation du plugin ADT
1.2) Installation des applications sur téléphone
1.2.1) Installation du pilote USB
1.2.2) Paramétrage du téléphone
2. Outil matériel
Conclusion
Chapitre 3 : Création d’un Projet Android
Introduction
1. Création d’un AVD
2. Création d’un projet Android
2.1) Explication des paramètres du projet
2.2) Explication du code
3. Codage et exécution de HelloAndroid
Conclusion
Chapitre 4 : Application Android : Messagerie Instantanée
Introduction
1. Principe du fonctionnement
2. Etapes de la mise en marche de l’application
3. Fonctionnement détaillé de l’application
3.1) Première Version
3.2) Deuxième Version
4. Difficultés rencontrées
Conclusion
Conclusion

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *