I.2 TECHNOLOGIE ANDROID
I.2.1. Système d'exploitation Android
I.2.1.1 DEFINITION5
Android est un système d'exploitation mobile pour les
Smartphones, tablettes tactiles, PDA et terminaux mobiles. C'est un
système open source utilisant le noyau Linux. Il a été
lancé par une startup du même nom rachetée par Google en
2005. D'autres types d'appareils possédant ce système
d'exploitation existent, par exemple des téléviseurs, des
radioréveils, des montres connectées, des autoradios et
même des voitures. Ce système d'exploitation se différencie
principalement de ses concurrents par le fait qu'il est ouvert. Le
modèle économique de Google semble très pertinent,
l'adoption d'Android par les fabricants sera probablement rapide du fait de la
gratuité d'utilisation pour le constructeur.
I.2.1.2. Historique6
Android doit son nom à la startup éponyme
spécialisée dans le développement d'applications mobiles
rachetée par Google en août 2005, nom venant lui-même
d'« androïde » qui désigne un robot construit à
l'image d'un être humain. Le logiciel, qui avait été
surnommé gPhone par les rumeurs de marchés et qui selon un de ses
concepteurs Andy Rubin était initialement prévu pour être
un système d'exploitation pour appareil photo, est proposé de
façon gratuite et librement modifiable aux fabricants de
téléphones mobiles, ce qui facilite son adoption. Le gPhone a
été lancé en octobre 2008 aux États-Unis dans un
partenariat de distribution exclusif entre Google et T-Mobile. Anticipant les
annonces officielles, les marchés financiers se ruent massivement sur
les actions Google les faisant monter jusqu'au plus haut historique de 724
dollars le 5 novembre 2007 (Le vendredi 18 octobre 2013 les actions Google
franchissent les 1 000 dollars). En 2004, le prix du cours d'introduction du
moteur de recherche était de 85 dollars l'action. Android est
développé par l'OHA (Open Hanset Alliance), une alliance
internationale
5 Jérôme Chambard, Dictionnaire Du Web -
Edition 2015, Ouvrage, Edition 2014
6 http://developer.android.com/
19
de compagnie. Cette alliance se compose de compagnie ne
faisant pas partie du même secteur. Ainsi elle se compose :
- D'opérateur mobile (Vodafone, Teleponica, Telecom
Italia, China Mobile, etc.) - de fabricants de téléphone mobiles
(Asus, HTC, LG, Motorola, etc.)
- de fabricants de semi-conducteur (Intel, Nvidia, ARM, etc.)
- d'éditeurs logiciels (EBay, Google, PacketVideo,
etc.)
- de distributeurs (Aplix corporation, Borqs, TAT).
Aujourd'hui il y a 1,5 milliards de télévisions
dans le monde. 1 milliard de personnes ont accès à internet. Mais
près de 3 milliards de personnes ont un téléphone
portable, ce qui fait que le téléphone portable est le produit
connaissant le plus grand succès dans le monde. C'est pour cela que
l'OHA s'est lancée sur le secteur du mobile. Ils espèrent fournir
une plateforme mobile innovante et performante fournissant aux utilisateurs une
nouvelle expérience d'utilisation de leur mobile.
20
7
I.2.2 Architecture d'Android
Android est conçue pour des appareils mobiles au sens
large. Nullement restreinte aux téléphones, elle ouvre d'autres
possibilités d'utilisation des tablettes, des ordinateurs portables, des
bornes interactives, des baladeurs... La plate-forme Android est
composée de différentes couches :
- Un noyau Linux qui lui confère notamment des
caractéristiques multitâches ; - Des bibliothèques
graphiques, multimédias ;
- Une machine virtuelle Java adaptée : la « Dalvik
Virtual Machine »;
- Un Framework applicatif proposant des fonctionnalités
de gestion de fenêtres, de téléphonie, de gestion de
contenus... ;
7 Frédéric Espiau (Apollidore),
Créez des applications pour Android, Ouvrage, Edition
2013
21
- Des applications dont un navigateur Web, une gestion des
contacts, un calendrier... Le diagramme suivant illustre les composants
principaux du système d'exploitation Android.
8
Android est basé sur un kernel linux 2.6.xx, au-dessus
du kernel il y a le "hardware abstraction layer" qui permet de séparer
la plateforme logique du matériel. Au-dessus de cette couche
d'abstraction. 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 coeurs du
Framework ainsi que la machine virtuelle exécutant les applications.
Au-dessus la couche "Android Runtime" et des librairies coeurs
on retrouve le Framework permettant au développeur de créer des
applications. Enfin au-dessus du Framework il y a les applications. Les
applications Android sont composées de 4 types de composants9
:
8 Frédéric Espiau (Apollidore),
Créez des applications pour Android, Ouvrage, Edition
201
9 Frédéric Espiau (Apollidore),
Créez des applications pour Android, Ouvrage, Edition
2013
22
- Activities: Une Activity représente un écran
de l'application. Une application peut avoir une ou plusieurs activities (par
exemple pour une application de messagerie on pourrait avoir une Activity pour
la liste des contacts et une autre pour l'éditeur de texte). Chaque
Activity est implémentée sous la forme d'une classe q
- Services: Les services n'ont pas d'interface graphique et
tournent en tâche de fond. Il est possible de s'inscrire à un
service et de communiquer avec celui-ci en utilisant l'API Android.
- Broadcast receivers: Il se contente d'écouter et de
réagir aux annonces broadcast (par exemple changement de fuseau horaire,
appel entrant...)
- Content providers : Il permet de partager une partie des
données d'une application avec d'autres applications.
En résumé Android permet de faire du partage de
composant entre applications ainsi que de gérer leur cycle de vie, sans
toutefois permettre la même souplesse.
I.2.2.1 Caractéristique
Android est défini comme étant une pile de
logiciels, un ensemble de logiciels destinés à fournir une
solution clé en main pour les appareils mobiles (Smartphones et
tablettes tactiles). Cette pile comporte un système d'exploitation
(comprenant un noyau Linux), les applications clés telles que le
navigateur web, le téléphone et le carnet d'adresses ainsi que
des logiciels intermédiaires entre le système d'exploitation et
les applications. L'ensemble est organisé en cinq couches distinctes:
- le noyau Linux avec les pilotes ;
- des bibliothèques logicielles telles que WebKit,
OpenGL, SQLite ou Free Type ; une machine virtuelle et des bibliothèques
permettant d'exécuter des programmes prévus pour la plate-forme
Java ;
- un framework - kit de développement d'applications ;
- un lot d'applications standard parmi lesquelles il y a un
environnement de bureau, un carnet d'adresses, un navigateur web et un
téléphone. Les services offerts par Android facilitent notamment
l'exploitation des réseaux de télécommunications GSM,
Bluetooth,
- l'utilisateur doit avoir les droits root ce qui entraîne
généralement une perte de la garantie du
téléphone.
23
Wi-Fi et UMTS, la manipulation de médias, notamment de
la vidéo H.264, de l'audio MP3 et des images JPEG ainsi que d'autres
formats, l'exploitation des senseurs tels que les capteurs de mouvements, la
caméra, la boussole et le récepteur GPS, l'utilisation de
l'écran tactile, le stockage en base de données, le rendu
d'images en 2D ou 3D en utilisant le processeur graphique, l'affichage de page
web, l'exécution multitâche des applications et l'envoi de
messages SMS.
|