Pr sentation de la plateforme android
Download
1 / 55

- PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on

Présentation de la plateforme Android. Chapitre 1. Découvrir la plateforme Android. Plan du chapitre 1. La plateforme Android L'architecture Android Les outils de développement : installation Une première application. La plateforme Android.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - trung


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Pr sentation de la plateforme android

Présentation de laplateformeAndroid


Chapitre 1
Chapitre 1

Découvrir la plateforme Android


Plan du chapitre 1
Plan du chapitre 1

  • La plateforme Android

  • L'architecture Android

  • Les outils de développement : installation

  • Une première application


La plateforme android
La plateforme Android

  • Android= un système d’exploitation open source pour smartphones,PDA,Tablettes :systemes légers

  • Une startup racheté par Google en 2005

  • 5 Novembre 2007, création de l’OHA (Open handset Alliance)= un consortium créé à l’initiative de Google réunissant des entreprises opérateurs mobiles, constructeurs et éditeurs logiciels

  • But de l’OHA:favoriser l’ innovation sur les appareils mobiles en fournissant une plateforme véritablement ouverte et complète.

  • Est gratuit

  • Logo bugdroid (peut être utilisé librement)

  • Noyau linux (branche du noyau 2.6, maintenant 3.3)

  • Site de référence :http://developer.android.com


Android et google
Android et Google

  • A suscité l'engouement des développeurs grâce à deux AndroidDeveloper(L'AndroidDeveloper Challenge (ADC) a été lancé par Google en 2008, dans le but de l'octroi de bourses pour des applications Android de qualité.

  • Conçu pour intégrer les applications Google : Gmail, Google Maps, Google Agenda, YouTube et la géolocalisation

  • Les différentes versions ont des noms de dessert (qui suivent l'ordre alphabétique, de A à Z) qui sont sculptés et affichés devant le siège social de Google (MountainView)



Les diff rentes versions
Les différentes versions

  • 1.0 : Version connue des développeurs : sortie avant le premier téléphone Android (fin 2007)

  • 1.1 : Version incluse dans le premier téléphone, le HTC Dream

  • 1.5 : Cupcake (Petit Gâteau), sortie en avril 2009

  • 1.6 : Donut (Beignet), sortie en septembre 2009

  • 2.0 (2.0.1) : A cause de nombreux bugs, remplacée par la la 2.1

  • 2.1 : Eclair, sortie en janvier 2010

  • 2.2 : FroYo (Frozen Yogourt : Yaourt glacé), sortie en mai 2010

  • 2.3 : Gingerbread (Pain d'épice), sortie le 6 décembre 2010, version actuelle pour smartphoneset petites tablettes ;

  • 3.0 : Honeycomb10 (Rayon de miel), sortie le 26 janvier 2011, version actuelle pour grandes tablettes;

  • 4.0 : IceCream Sandwich12 (Sandwich à la crème glacée), version unifiée pour Smartphone,Tabletteet GoogleTV13, combinant Gingerbread et Honeycomb, sortie le 19 octobre 2011

  • 4.1 -4.3:Jelly Bean n basée sur le noyau Linux 3.0.31 et dont la principale nouveauté est une amélioration des fonctionnalités et des performances de l'interface utilisateur.

  • 4.4: KitKat


Parts de chaque version fin 2013
Parts de chaque versionfin 2013

Versions des machines Android qui ont accédé à Google Play (ex

AndroidMarket) deux semaines avant le 2 décembre 2013


Smartphone ordinateur
Smartphone != ordinateur

  • Androidtire partie des particularités des smartphones :

  • interface homme machine adapté (tactile, widget)

  • divers modes : vibreur, sonnerie, silencieux, alarme

  • notifications (d'applications, d'emails, de SMS, d'appels en instance)

    de boussole, accéléromètre, GPS

  • divers capteurs (gyroscope, gravité, accéléromètre, baromètre)

  • NFC, RFID

  • téléphonie (GSM) et réseau EDGE, 3G, 4G

  • En plus de ce qu'on peut avoir sur un ordinateur : navigateur, bibliothèques graphiques 2D, 3D (Open GL), base de données (SQLite), applications de rendu multimédia (audio, vidéo, image) de divers formats, réseau Bluetooth et Wi-Fi, caméra


Le google play android market
Le Google Play (AndroidMarket)

  • Google Play, est une boutique en ligne créée par Google (le 6 mars 2012) par fusion des services AndroidMarket et d'autres services Google (location de films, achat de musique, etc.).

  • Elle permet de télécharger et d'installer de nouvelles applications ("apps") dans le smartphone

  • Androidmarket est "né" le 22 octobre 2008

  • "Au 1 Janvier 2013, Google Play est fort de 800 000 applications ce qui le met à égalité avec iOS

  • Les développeurs d'applications payantes reçoivent 70 % du prix du logiciel, 30% allant à Google (redistribués aux développeurs via Google Checkout)

  • Google Checkout (Google Wallet) est un service de paiement sur Internet qui permet à l'utilisateur d’envoyer et de recevoir ses paiements par Internet, sans avoir à communiquer ses coordonnées de carte bancaire lors de ses transactions. Ce service a été créé par Google, en janvier 2006, à la suite du lancement de Google Video Store, service d'achat de contenus vidéo en ligne.

  • Chaque nouveau développeur paie $25 comme frais de dossier (une seule fois)


Le sdk android
Le SDK Android

  • l'Android SDK (Software Development Kit) amène des outils :

  • un environnement de développement

  • une machine virtuelle Java adaptée : la Dalvikvirtual machine

  • un environnement debugueur DDMS (DalvikDebug Monitor

    Service) utilisant adb (AndroidDebug Bridge)

  • un environnement de construction d'application Androidaapt

    (AndroidAsset Packaging Tool, ajout suppression fichiers, packages au sein du APK file)

  • des émulateurs de téléphones ou de tablettes AVD (Android

  • Virtual Device)

  • et une énorme API (voir à http://developer.android.com/reference/packages.html)


Architecture android
Architecture Android

  • Toutes les modifications apportées par Google (par rapport  à un système Linux classique) ont été faites dans un seul but : créer un système le plus léger possible tout en ayant un maximum de fonctionnalités.

  • léger = système embarqué

  • Un système dit « embarqué » est un système dont les ressources matérielles disponibles sont relativement faibles. Mis à part les derniers smartphonesqui sont presque aussi puissants que certains ordinateurs.

  • Androida été créé pour fonctionner sur des petites machines. Par exemple, un téléphone possédant les caractéristiques suivantes :

    - Un processeur de 250 MHz ;

    - Une mémoire RAM de 64 Mo ;

    - Pas d’espace de swap (fichier d’échange) ;

    - Une faible résolution d’écrans (320x240 pixels).

  • Bien sûr, tous les constructeurs proposent des « configurations » bien plus élevées que celle ci-dessus. 


Architecture android1
Architecture Android

  • L’architecture d’Androidpeut se découper en cinq parties:

  • Le noyau

  • les bibliothèques

  • un environnement d’exécution(DVM)

  • un framework

  • les applications


Architecture android le noyau
Architecture Android –Le Noyau

  • Androidutilise un noyau Linux 2.6 (3.0 pour les dernières versions) modifié. 

  • IL dispose d’une couche d’abstration pour accéder à ces périphériques: caméra,audio, video, keyboard..

  • Le noyau a subit des changements importants depuis ces débuts.Undes changements fondamentaux est le remplacement des IPC SysV. C’est un module qui permet les communications inter-processus. Ce module se voit remplacé par Binder, qui a été initialement développé pour BeOS. Binder est plus économique en ressources système, tout en assurant les mêmes fonctions.

  • Une autre modification importante concerne la gestion de la mémoire, nommée Ashmem (Androidshared memory). C’est un sous-système proche de Shared Memory (SHM) défini par la norme POSIX, mais qui dispose d’une API plus simple. Le but de ce sous-système est de déléguer une partie de la gestion de la mémoire à l’utilisateur. De ce fait, la mémoire peut être partagée entre les processus en passant par Binder.


Architecture android le noyau1
Architecture Android –Le Noyau

  • Système embarqué oblige, l’accès aux journaux système (logs) ne peut se faire comme sur un système classique. Google a donc intégré un logger dans le noyau. Celui-ci permet d’effectuer une surveillance via la commande logcat. Il est aussi possible de détourner le stdout et / ou le stderr des processus vers le journal système. Cela peut être très utile pour le développement d’applications. Pendant les phases de test sur le terminal, nous avons un accès en temps réel aux logs de l’application.

  • Google a également implémenté OOM (Out Of Memory).  C’est une sorte de gestionnaire de tâches, il est aussi appelé Viking Killer. Il a pour rôle de tuer les tâches lorsque la mémoire vient à manquer. Les tâches à tuer sont définies par des quotas de mémoire suivant les classes de processus.

  • Ces modifications sont les principales effectuées, mais il y en a encore beaucoup d’autres, comme la gestion de la mise en veille, de l’alarme, la sécurisation de l’accès aux ressources réseau ou encore la fonction printkpermettant de loguer en RAM les GPIO ou ADB pour l’USB.


Architecture android le noyau2
Architecture Android –Le Noyau

Noyau modifié écrit essentiellement en C et en assembleur


Architecture android les bibliotheques
Architecture Android Les Bibliotheques

  • Androidpossède de nombreuses bibliothèques natives (comparables au DLL sous Windows). Elles fournissent un accès direct aux ressources du système et forment une couche d’abstraction permettant le fonctionnement du frameworkd’Android. C’est en quelque sorte la « base » de l’ensemble du système au niveau supérieur.

  • Ces bibliothèques sont codées en C/C++.

  • Le NDK (Native Developpement Kit) est un outil complémentaire du SDK qui permet de construire des portions critiques  du code afin de mieux gérer les performances de votre application.

  • Il utilise le JNI (Java Native Interface) pour interfacer du code écrit en C/C++ avec du code écrit en Java, il fournit  des entêtes natives et des  bibliothèques  qui vous permettent de travailler de plus en plus proches de la plateforme matériel ainsi de gérer le/les entres utilisateur, créer de activités…

  • Le C/C++ est un code compilé (contrairement au Java Interprété)  il sera traduit par le compilateur en instructions machine qui seront directement exécutées par le processeur d’où l’intérêt du code native.


Architecture android les bibliotheques1
Architecture Android Les Bibliotheques

  • Les autres bibliothèques sont moins importantes. Google en a implémenté certaines comme:

  • SQLite :base de donnée

  • FreeType:moteur de rendu des polices de caract.

  • Webkit :moteur de rendu HTML(utilisé aussi par les navigateurs:konqueror, safari,google chrome…)

  • Media Framework. Cette bibliothèque gère tout ce qui se rapporte aux données multimédia. 

  • Le Surface Manager consiste enun ensemble de fonctions permettant d’afficher des éléments à l’écran. C’est l’équivalent d’un serveur X pour un système Linux.

  • Open SSL: algorythme de cryptage des données

  • OpenGL/ES: Bibliotheque graphique 3D

  • SGL: graphique 2D


Architecture android les bibliotheques2
Architecture Android Les Bibliotheques


Architecture android la dalvik virtual machine dvm
Architecture AndroidLa Dalvikvirtual machine(DVM)

  • Est la machine virtuelle Java pour les applications Android

  • Conçu pour exécuter du code Java pour des systèmes ayant des contraintes de place mémoire et rapidité d'exécution

  • Exécute du code .dex (Dalvikexecutable) = des .class adaptés à l'environnement Android

  • Ecrit par Dan Bornstein d'où le nom (= village islandais dont sont originaires certains de ses ancêtres)

  • A été choisi par Google car une machine Android peut lancée plusieurs instance de la DVM efficacement

  • Le code de la DVM est open source


Architecture android dvm
Architecture Android- DVM

  • . Dalvikexécute du bytecodequi est créé à partir de programmes écrits en Java. Les programmes compilés sont créés au format Dalvik exécutable (.dex) via l’outil dx intégré au SDK.

  • Dalvikpropose 30 % d’instructions en moins qu’une JVM classique, mais avec des instructions 35 % plus grandes. Il en résulte une charge de travail moins importante, et le temps d’exécution est deux fois plus rapide qu’avec des machines Java standard.

  • Pour économiser aussi de la mémoire, Dalvika été conçu pour gérer plusieurs processus et partager la bibliothèque principale entre ces processus. Tout est fait pour économiser le plus de cycles processeur.

  • Enfin, depuis la version 2.3 d’Android, Dalvikpossède un « ramasse-miettes » permettant une gestion du multitâche accrue.


Architecture android application frameworks
Architecture Android-Application Frameworks

  • Ce framework est écrit entièrement en Java. Il fournit tout ce dont les applications peuvent avoir besoin.

  • Ces besoins sont de différentes natures. Voici les principales ressources offertes par le framework :

    - Activity Manager : c’est lui qui gère le cycle de vie des applications et assure une partie du multitâche.

    - Package manager : il permet à l’Activity Manager de manipuler les paquets au format .apk

    - Window Manager : il utilise le Surface Manager (Surface Flinger) et gère l’affichage

    - Ressource Manager : lui s’occupe de tout ce qui n’est  pas du code (image, audio, vidéo…)

    - Content Provider : c’est le système qui permet le partage des données entre les applications

    - Le View System : c’est le fournisseur des composants graphiques. GTK+ est l’équivalent sous un système Linux traditionnel.

    - Telephony service : il fournit l’accès aux interfaces de téléphonies. (GSM, 3G, GPRS…)

    - Location service permet l’utilisation du GPS.

    - Bluetooth Service : comme son nom l’indique, prend en charge le Bluetooth

    - Wifi Service : fait de même pour le Wifi.

    - Sensor Service : fourni l’accès pour les différents détecteurs (accéléromètre, compas, lumière…)


Architecture android application frameworks1
Architecture Android-Application Frameworks


Architecture android application frameworks2
Architecture Android-Application Frameworks

  • - Une première machine virtuelle est lancée (au démarrage du système) : SystemServer.

  • - Le frameworkest lié à cette machine virtuelle et communique par IPC.

  • - Une autre machine virtuelle est aussi lancée c’est Zygote. Celle-ci va créer de nouvelle machines virtuelles pour les applications.

  • Le frameworkest une partie d’Androidtrès complexe, il « englobe » et lie beaucoup d’autre composant. Grâce au mécanisme IPC, il peut communiquer avec presque tout le système. Avec les applications pour leur créer leur environnement d’exécution (Dalvik), avec le noyau Linux (via le processus SystemServer), avec les bibliothèques et avec les différentes interfaces (ADB, AIDL…).


Architecture android application frameworks3
Architecture Android-Application Frameworks


Architecture android les applications
Architecture Android-Les Applications

  • Les applications se divisent en deux catégories:

  • Les services qui sont des codes fonctionnant en arrière-plan, non interactif.

  • les activités qui prennent la forme d’écrans. Les activités fonctionnent suivant un principe de « pile ». C’est un fonctionnement similaire aux technologies Web. Les activités sont comme des pages Web, et l’utilisateur peut naviguer à sa guise d’une page à l’autre (autrement dit d’une application à une autre, mais aussi entre différentes activités d’une même application).

  • Pour réaliser cette navigation, les applications (activités) font toujours appel à Binder . Pour utiliser le mécanisme d’IPC, les applications créent des intents (intentions). Ces derniers ne provoquent pas d’action directe, mais sont interceptés par le frameworkpour être interprétés. Suivant les types d’intents, il se peut que plusieurs applications puissent y répondre. Dans ce cas, une boite de dialogue est affichée, permettant à l’utilisateur de choisir lui-même l’application.


Architecture android les applications1
Architecture Android- Les Applications



Glossaire
Glossaire

  • ADB : adb signifie AndroidDebug Bridge. C'est une interface en ligne de commandes permettant de communiquer avec un émulateur / ordinateur et le terminal sous Android.

  • AIDL : afin que les applications puissent s'échanger des données, Google a créé sa propre interface : Android Interface Description Langage. AIDL désigne un fichier portant l'extension .aidl, mais aussi l'outil permettant de générer ces fichiers.

  • API : une interface de programmation (Application Programming Interface ou API) est une interface fournie par un programme informatique. Elle permet l'interaction des programmes les uns avec les autres, de manière analogue à une interface homme-machine, qui rend possible l'interaction entre un homme et une machine.

  • Binder : voir IPC

  • Dalvik : Dalvikest la machine virtuelle utilisée dans les appareils mobiles Android. Elle permet d'exécuter les applications qui peuvent être écrites en Java et converties en un exécutable compact Dalvik(.dex), format adapté aux systèmes limités en termes de mémoire et de vitesse du processeur.

  • GPIO : les ports GPIO (General Purpose Input/Output, c'est-à-dire entrée/sortie pour un usage général) sont des ports d'entrée/sortie très utilisés dans le monde des microcontrôleurs, en particulier dans le domaine de l'électronique embarquée. Selon la configuration, ces ports peuvent fonctionner aussi bien en entrée qu'en sortie.

  • IPC (Binder) : en informatique, les communications inter processus (Inter-Process Communication ou IPC) regroupent un ensemble de mécanismes permettant à des processus concurrents (ou distants) de communiquer.

  • Linux : appellation courante du système d'exploitation libre GNU/Linux, est une variante du système GNU, fonctionnant avec le noyau Linux. 

  • Logger : il est lié au Syslog. Syslogest un protocole définissant un service de journaux d'évènements d'un système informatique. C'est aussi le nom du format qui permet ces échanges.

  • POSIX : POSIX est le nom d'une famille de standards définie depuis 1988 par l'Institute of Electrical and ElectronicsEngineers et formellement désignée IEEE 1003. Ces standards ont émergé d'un projet de standardisation des API des logiciels destinés à fonctionner sur des variantes du système d'exploitation UNIX.

  • SDK : un kit de développement ou trousse de développement logiciel, est un ensemble d'outils permettant aux développeurs de créer des applications de type défini. Les kits de développement logiciels sont souvent désignés par le sigle anglais SDK (Software Development Kit) ou devkit.

  • STDERR (voir stdout) : elle joue le même rôle que la sortie standard, mais ne s'occupe que des erreurs lors de l'exécution d'un programme.

  • STDOUT : le stdoutest le nom de la sortie standard. La sortie standard est le flux de sortie dans lequel les données sont écrites par le programme. Les données sont habituellement écrites à l'écran, à moins d'une redirection. Ce flux est prévu pour être le flux de sortie par défaut.


Installer l environnement de d veloppement android
Installer l'environnementde développement Android

  • Apres avoir installé le JDK Java SE

    il suffit de télécharger l'ADT Bundle for Windows (400 Mo) à:

    http://developer.android.com/sdk

  • Comme indiqué, cet ADT (AndroidDevelopment Tools) délivre :

    Eclipse, le SDK Android, le plug-in Eclipse vers ce SDK Android (= le ADT plugin)


La pile des outils de d veloppement pour android
La pile des outils dedéveloppement pour Android


Fin de l installation de l environnement
Fin de l'installation del'environnement

  • Après extraction de adt-bundle-windows-XXX, lancer SDK Manager.exe

  • Un répertoire eclipse est construit contenant une version d'Eclipse avec l'ADT plug-in initialisé correctement sur le SDK Androidtéléchargé

  • Et c'est tout : on peut commencer à faire du développement pour Android


Le avd android virtual device 1 3
Le AVD (Android VirtualDevice) (1/3)

  • Pour exécuter les programmes Android, il suffit d'un émulateur. C'est le AVD (Androidvirtualdevice)

  • A la première utilisation il faut en obtenir un. Par la suite on pourra utiliser toujours celui là

  • Dans Eclipse, on peut construire un nouvel AVD par le Bouton de la barre de menu :


Le avd android virtual device 2 3
Le AVD (Android VirtualDevice) (2/3)

Il faut lancer le virtualdevice manager:

Ensuite nous allons créer un virtualdevice en cliquant sur New:


Le avd android virtual device 3 3
Le AVD (Android VirtualDevice) (3/3)

  • Dans la fenêtre "Create new Android Virtual Device (AVD)", Donner lui un nom "parlant" et affecter un device et la target:

Puis cliquez sur CREATE afin qu’il apparaisse dans la liste des AVD:


Chapitre 2 developpement android
CHAPITRE 2DEVELOPPEMENT ANDROID


Plan du chapitre 2
PLAN DU CHAPITRE 2

  • Les composants d'une application Android : Activity, Service, Content Provider, Broadcast Receiver,Les Intent

  • Fonctionnalités fournies par Android

  • Structure d’une application

  • Le manifeste : AndroidManifest.xml

  • Développer une application Android

  • Un premier programme


Concepts de base
Concepts de base

  • Les programmes sont écrits en Java

  • L'AndroidSDK compile l'ensemble du développement (code Java,données, fichier de ressources, fichier XML) dans un paquetage Android: un .apk

  • Toute une application tient dans un .apk et .apk = une application

  • Les composants fondamentaux d'une application Android sont :

  • Activity, Service, Content Provider, Broadcast Receiver

  • Certains de ces composants communiquent entre eux à l'aide d'Intent


Activity activit
Activity (activité)

  • La brique de base de l’interface utilisateur s’appelle activity(activité). Vous pouvez la considérer comme l’équivalent Android de la fenêtre ou de la boîte de dialogue d’une application classique.

    Bien que des activités puissent ne pas avoir d’interface utilisateur, un code "invisible" sera

    délivré le plus souvent sous la forme de fournisseurs de contenus (content provider) ou de services.Les activités sont indépendantes les unes des autres.

    Une activité est une sous classe de android.app.Activity


Content providers fournisseurs de contenus
Content providers (fournisseurs de contenus)

  • Les fournisseurs de contenus offrent un niveau d’abstraction pour toutes les données stockéessur le terminal et accessibles aux différentes applications.Le modèle de développement Androidencourage la mise à disposition de ses propres données aux autres programmes .

  • Exemple de fournisseur de contenu : les informations de contact de l'utilisateur du smartphone. On peut créer un fournisseur de contenus pour des données qu'on veut partager. On récupère un fournisseur de contenu pour des données partageables en demandant le ContentResolver du système et en donnant ensuite, dans les requêtes, l'URI des données.


Les intents intentions
Les Intents (intentions)

  • Les intentions sont des messages système. Elles sont émises par le terminal pour prévenir les applications de la survenue de différents événements, que ce soit une modification matérielle (comme l’insertion d’une carte SD) ou l’arrivée de données (telle la réception d’un SMS), en passant par les événements des applications elles-mêmes (votre activité a été lancée à partir du menu principal du terminal, par exemple).

  • Vous pouvez non seulement répondre aux intentions, mais également créer les vôtres afin de lancer d’autres activités ou pour vous prévenir qu’une situation particulière a lieu (vous pouvez, par exemple, émettre l’intention X lorsque l’utilisateur est à moins de 100 mètres d’un emplacement Y).

  • Un évènement est une sous classe de android.content.Intent.


Services
Services

  • Les activités, les fournisseurs de contenus et les récepteurs d’intentions ont une durée de vie limitée et peuvent être éteints à tout moment.

  • Les services sont en revanche conçus pour durer et, si nécessaire, indépendamment de toute activité.

  • Vous pouvez, par exemple, utiliser un service pour vérifier les mises à jour d’un flux RSS ou pour jouer de la musique, même si l’activité de contrôle n’est plus en cours d’exécution.

  • Un service est une sous classe de android.app.Service


Broadcast receiver
Broadcastreceiver

  • Un récepteur d'informations (broadcastreceiver) est un composant à

    l'écoute d'informations qui lui sont destinées. Un tel récepteur indique le

    type d'informations qui l'intéressent et pour lesquelles il se mettra en

    écoute.Exemple : appel téléphonique entrant, réseau Wi-Fi connecté, informations diffusées par des applications

  • L'application réceptrice d'informations (c'est à dire possédant un récepteur d'informations) n'a pas besoin d'être lancée. Si elle ne l'est pas, Androidla démarre automatiquement

  • Un récepteur n'est pas une IHM mais peut en lancer une (éventuellement

    petite : une barre de notification), ou peut lancer un service traitant l'arrivée

    de l'information

  • Un récepteur d'informations est une sous classe de android.content.BroadcastReceiver

  • Les informations sont des Intent


Fonctionnalit s fournies par android
Fonctionnalités fournies par Android

  • Stockage

  • Réseau

  • Multimédia

  • GPS

  • Services téléphoniques


Stockage
Stockage

  • Vous pouvez empaqueter (packager) des fichiers de données dans une application, pour y stocker ce qui ne changera jamais – les icônes ou les fichiers d’aide, par exemple.

  • Vous pouvez également réserver un petit emplacement sur le terminal lui-même, pour y stocker une base de données ou des fichiers contenant des informations nécessaires à votre application et saisies par l’utilisateur ou récupérées à partir d’une autre source.

  • Si l’utilisateur fournit un espace de stockage comme une carte SD, celui-ci peut également être lu et écrit en fonction des besoins.


R seau
Réseau

  • Les terminaux Android sont généralement conçus pour être utilisés avec Internet, via un support de communication quelconque.

  • Vous pouvez tirer parti de cet accès à Internet à

    n’importe quel niveau, des sockets brutes de Java à un widget de navigateur web intégré que vous pouvez intégrer dans votre application.


Multim dia
Multimédia

  • Les terminaux Android permettent d’enregistrer et de jouer de la musique et de la vidéo.

  • Bien que les caractéristiques spécifiques varient en fonction des modèles, vous pouvez connaître celles qui sont disponibles et tirer parti des fonctionnalités multimédias offertes, que ce soit pour écouter de la musique, prendre des photos ou enregistrer des mémos vocaux.


Pr sentation de la plateforme android
GPS

  • Les fournisseurs de positionnement, comme GPS, permettent d’indiquer aux applications où se trouve le terminal. Il vous est alors possible d’afficher des cartes ou d’utiliser ces données géographiques pour retrouver la trace du terminal s’il a été volé, par exemple.


Services t l phoniques
Services Téléphoniques

  • Évidemment, les terminaux Android sont généralement des téléphones, ce qui permet à vos programmes de passer des appels, d’envoyer et de recevoir des SMS et de réaliser tout ce que vous êtes en droit d’attendre d’une technologie téléphonique moderne.


Structure d une application
Structure d’une application

  • AndroidManifest.xml est un fichier XML qui décrit l’application à construire et les composants – activités, services, etc. – fournis par celle-ci.

  • build.xml est un script Antpermettant de compiler l’application et de l’installer sur le terminal (ce fichier n’est pas présent avec un environnement de programmation adapté, tel Eclipse).

  • default.propertieset local.properties sont des fichiers de propriétés utilisés par le script précédent.

  • bin/ contient l’application compilée.

  • gen/ contient le code source produit par les outils de compilation d’Android.

  • libs/ contient les fichiers JAR extérieurs nécessaires à l’application.

  • src/ contient le code source Java de l’application.

  • res/ contient les ressources – icônes, descriptions des éléments de l’interface graphique (layouts), etc. – empaquetées avec le code Java compilé.

  • tests/ contient un projet Android entièrement distinct, utilisé pour tester celui que vous avez créé.

  • assets/ contient les autres fichiers statiques fournis avec l’application pour son déploiement sur le terminal.


Structure d une application1
Structure d’une application

Fichiers java

Code source produit par la compilation

Fichiers statiques pour déploiement sur le terminal

Classes java compilées

Fichiers jar utiles a l’appli.

Fichiers statiques, images, menus…


Le manifeste androidmanifest xml
Le manifeste(AndroidManifest.xml)

  • C’est dans ce fichier que l’on déclare ce que

    contiendra l’application – les activités, les services, etc.

    On y indique également la façon dont ces composants seront reliés au système Android lui-même en précisant, par exemple, l’activité (ou les activités) qui doivent apparaître dans le menu principal du terminal

  • (ce menu est également appelé "lanceur" ou "launcher").


Le manifeste androidmanifest xml1
Le manifeste(AndroidManifest.xml)

  • Ce fichier contient aussi :

  • les permissions nécessaires à l'application (accès internet, accès en lecture/écriture aux données partagées)

  • le numéro minimum de la version API utilisée

  • des logiciels et matériels utilisés par l'application (caméra)

  • des bibliothèques supplémentaires à l'API de base (Google mapslibrary)

  • Parmi les composants, seuls les récepteurs d'évènements (broadcastreceiver) peuvent ne pas être indiqués dans le manifeste.Les autres(activitys, services, content providers) doivent l'être sinon ils ne seront jamais lancés quel que soit le code écrit !


D velopper une application android
Développer une application Android

  • De l'installation de l'environnement à la publication de l'application Les phases sont :

  • Installation de l'environnement (setup) = installer le SDK et les AVDs(AndroidVirtual Device)

  • Le développement = développer le code et les ressources de l'application

  • débuguer et tester = DDMS et JUnit

  • publier sur le Google Play

  • On peut faire ces diverses phases en ligne de commande ou avec Eclipse


Cas pratique
Cas Pratique

  • Créons notre première application