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 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 A suscité l'engouement des développeurs grâce à deux Android Developer(L'Android Developer 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 (Mountain View)
Siege social de Google (mountain View)
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 smartphones et petites tablettes ; 3.0 : Honeycomb10 (Rayon de miel), sortie le 26 janvier 2011, version actuelle pour grandes tablettes; 4.0 : Ice Cream Sandwich12 (Sandwich à la crème glacée), version unifiée pour Smartphone,Tablette et 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 Versions des machines Android qui ont accédé à Google Play (ex Android Market) deux semaines avant le 2 décembre 2013
Smartphone != ordinateur Android tire 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) Google Play, est une boutique en ligne créée par Google (le 6 mars 2012) par fusion des services Android Market 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 Android market 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 l'Android SDK (Software Development Kit) amène des outils : un environnement de développement une machine virtuelle Java adaptée : la Dalvik virtual machine un environnement debugueur DDMS (Dalvik Debug Monitor Service) utilisant adb (Android Debug Bridge) un environnement de construction d'application Android aapt (Android Asset 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 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 smartphones qui sont presque aussi puissants que certains ordinateurs. Android a é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 Android L’architecture d’Android peut 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 Android utilise 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.Un des 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 (Android shared 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 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 printk permettant de loguer en RAM les GPIO ou ADB pour l’USB.
Architecture Android –Le Noyau Noyau modifié écrit essentiellement en C et en assembleur
Architecture Android Les Bibliotheques Android possè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 framework d’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 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 en un 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 Bibliotheques
Architecture Android La Dalvik virtual 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 (Dalvik executable) = 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 . Dalvik exécute du bytecode qui 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. Dalvik propose 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, Dalvik a é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, Dalvik possède un « ramasse-miettes » permettant une gestion du multitâche accrue.
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 Frameworks
Architecture Android -Application Frameworks Le framework est organisé autour de plusieurs instances de la machine virtuelle Dalvik. Chaque application est exécutée dans sa propre machine Dalvik. Elles communiquent entre elles via un mécanisme d’IPC (inter-process call), par envoi de messages. Le framework est porté par une instance de la machine Dalvik et expose des ressources et services pour les applications. C’est le processus SystemServer, il doit être actif pour que les applications puissent interagir avec le système. Les bibliothèques du framework communiquent en IPC avec SystemServer.
Architecture Android -Application Frameworks - Une première machine virtuelle est lancée (au démarrage du système) : SystemServer. - Le framework est 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 framework est une partie d’Android trè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 Frameworks
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 framework pour ê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 Applications
Architecture Android
Glossaire ADB : adb signifie Android Debug 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 : Dalvik est 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. Syslog est 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 Electronics Engineers 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 stdout est 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 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 (Android Development 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
Fin de l'installation de l'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 Android téléchargé Et c'est tout : on peut commencer à faire du développement pour Android
Le AVD (Android Virtual Device) (1/3) Pour exécuter les programmes Android, il suffit d'un émulateur. C'est le AVD (Android virtual device) 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) Il faut lancer le virtual device manager: Ensuite nous allons créer un virtual device en cliquant sur New:
Le AVD (Android Virtual Device) (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
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 Les programmes sont écrits en Java L'Android SDK 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é) 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) Les fournisseurs de contenus offrent un niveau d’abstraction pour toutes les données stockées sur le terminal et accessibles aux différentes applications. Le modèle de développement Android encourage 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 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 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 Un récepteur d'informations (broadcast receiver) 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, Android la 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 Stockage Réseau Multimédia GPS Services téléphoniques
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 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 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.
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 É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 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 Ant permettant 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.properties et 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 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) 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.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 maps library) Parmi les composants, seuls les récepteurs d'évènements (broadcast receiver) 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 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 (Android Virtual 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
Créons notre première application Cas Pratique Créons notre première application