Académique Documents
Professionnel Documents
Culture Documents
Quelques chiffres
- Google a gagné 1,5 milliard d'utilisateurs Android
supplémentaires au cours des quatre dernières années,
supplantant largement Windows et iOS avec un total de 2,5
milliards de terminaux actifs dans le monde en mai 2019
Créé en 2004,
Publié en 2007,
Larger Developer Support – As its open source anyone can develop for the
platform, giving it a much larger support for developers and gives them more
of a feeling of ownership as they can alter whatever they like.
Customizable – In a closed source scenario, developers are given only options to
change what the original developer chooses, but having full control lets them
customize the look feel and even features of the software giving it much more
possibilities
More Secure – Open source is much more transparent than closed, this means
that anyone can look over the code, by having thousands of people reading
through your code, bugs and vulnerabilities are located much quicker and
submitted for fixing, it also lets you know if the bug has been fixed as you
can check the code after each release.
Extended Community Support – As a product ages the original developer
might move on and stop developing leaving the product to age with no new
fixes or features, but if its open then usually the community takes over and
continues working on it allowing the usable life of the product to be
extended well beyond what the original developer intended.
Closed source
Less confusion for customers – Many people aren’t sure what the advantages
of the different versions of android, is HTC Sense better than MotoBlur?
By not allowing people to alter core features it makes it easier to pick the product
you want, there is only one version of iOS that people need to learn about
Unified experience – Because its close the developer can choose the layout, the
features, the options, the colors, and pretty much anything they choose.
This seems restrictive, but at least guarantees that every user will have a similar
experience and gives it a standard that can’t be changed.
More profitable – A closed model can be greatly profitable as you can charge
money for developers to use your API, and can lock out competition by not
making your design available for them to see.
Développement Android
Le SDK était:
• anciennement manipulé par un plugin d'Eclipse (obsolète)
• maintenant intégré à Android Studio (IntelliJ)
Architecture android
Android est en fait un système de la famille des Linux.
L'OS s'appuie sur:
Des bibliothèques
Graphisme, Média, Web …
Dalvik est une machine virtuelle destinée aux téléphones mobiles et tablettes
tactiles, qui est incorporée dans le système d'exploitation Android. Dalvik est
destiné à permettre l'exécution simultanée de plusieurs applications sur un
appareil de faible capacité (peu d'espace mémoire et peu de puissance de
calcul).
Créé par Dan Bornstein, Dalvik fait partie du runtime, le moteur qui permet
l'exécution des applications pour Android. Le nom est celui d'un village de
pêcheurs en Islande, pays d'origine de son auteur.
Dalvik offre une alternative à la machine virtuelle de la technologie Java. Les
fichiers de bytecode de la technologie Java sont préalablement transformés et
consolidés dans un fichier .dex (Dalvik Executable) en vue de leur utilisation par
Dalvik.
-Tient compte des contraintes de CPU
et de mémoire
- Exécute des fichiers .dex optimisés et
non pas des fichiers .class
- crée une instance pour chaque
processus
- Applications indépendantes, Espaces
protégés, Pas de plantage généralisé.
- ART (Android RunTime) vient remplacer Dalvik VM dans les nouvelles
versions d’android
- Amélioration GarbageCollector, Compilation avancée.
Android RUNTIME
est un environnement d'exécution utilisé principalement par le
système d'exploitation Android. Il vise à remplacer la machine
virtuelle Dalvik et à remplacer le bytecode par des instructions
natives.
Cette couche offre plusieurs services haut niveau pour être utilisés par
les applications sous format de classes java.
Parmi les services clefs on trouve:
Activity Manager − Controls all aspects of the application lifecycle and activity
stack.
Content Providers − Allows applications to publish and share data with other
applications.
Resource Manager − Provides access to non-code embedded resources such as
strings, color settings and user interface layouts.
Notifications Manager − Allows applications to display alerts and notifications to
the user.
View System − An extensible set of views used to create application user interfac
Application android
Les intents
- Des objets permettant de faire passer des messages contenant de l'information entre
composants principaux.
-La notion d’Intent peut être vue comme une demande de démarrage d'un autre
composant, d'une action à effectuer.
-Grâce aux Intensys, les applications ont la possibilité de fournir leurs services
ou données si elles le souhaitent.
Activity
- repose sur la notion d'interaction utilisateur.
- L'exemple commun illustrant au mieux cette notion est celui du lecteur mp3.
Un lecteur mp3 ne nécessite pas, pour la plupart du temps, d'interface graphique
et doit tourner en tâche de fond laissant la possibilité aux autres applications
de travailler/s'exécuter librement.
Content provider
-C’est un gestionnaire de données.
-Un tel programme peut être créé sous forme de ContentProvider ce qui lui
permettra de fournir à d'autres applications présentes sur le système
les informations sur une personne. Une application tierce d'envoi de courriel
peut par exemple interroger ce ContentProvider afin d'obtenir l'adresse
courriel d'un contact.
BroadcastReceiver