• Aucun résultat trouvé

Cours pdf présentation de la plateforme Android – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Cours pdf présentation de la plateforme Android – Cours et formation gratuit"

Copied!
56
0
0

Texte intégral

(1)

PRÉSENTATION DE LA PLATEFORME

ANDROID

(2)

Chapitre 1

Découvrir la plateforme Android

(3)

Plan du chapitre 1

 La plateforme Android

 L'architecture Android

 Les outils de développement : installation

 Une première application

(4)

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

(5)

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)

(6)

Siege social de Google

(mountain View)

(7)

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

(8)

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

(9)

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

(10)

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)

(11)

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)

(12)

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. 

(13)

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

(14)

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.

(15)

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.

(16)

Architecture Android –Le Noyau

Noyau modifié écrit essentiellement en C et en assembleur

(17)

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.

(18)

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

(19)

Architecture Android Les

Bibliotheques

(20)

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

(21)

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.

(22)

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…)

(23)

Architecture Android

-Application Frameworks

(24)

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…).

(25)

Architecture Android

-Application Frameworks

(26)

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.

(27)

Architecture Android - Les

Applications

(28)

Architecture Android

(29)

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.

(30)

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)

(31)

La pile des outils de

développement pour Android

(32)

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

(33)

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 :

(34)

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:

(35)

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:

(36)

CHAPITRE 2

DEVELOPPEMENT ANDROID

(37)

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

(38)

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

(39)

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

(40)

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.

(41)

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.

(42)

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

(43)

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

(44)

Fonctionnalités fournies par Android

Stockage

Réseau

Multimédia

GPS

Services téléphoniques

(45)

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.

(46)

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.

(47)

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.

(48)

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.

(49)

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.

(50)

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.

(51)

Structure d’une application

Fichiers statiques, images, menus…

Classes java compilées

Fichiers java

Fichiers jar utiles a l’appli.

Fichiers statiques pour déploiement sur le

terminal

Code source produit

par la compilation

(52)

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").

(53)

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 !

(54)

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

(55)

Cas Pratique

 Créons notre première

application

Références

Documents relatifs

Para atuar nesse novo contexto, o professor necessita ter uma visão mais ampla e refletir sobre como esses recursos tecnológicos (televisão, DVD, vídeo, computadores,

package Ada.Exceptions is  type Exception_Id is private; . Null_Id :

− Recopie dans le flot de sortie le fragment du document à transformer sélectionné par la requête XPath à partir du noeud contexte. − Ce fragment peut être constitué de

MRTG peut aussi être utilisé pour construire des courbes à partir d'autres informations disponibles dans les MIB!. Charge de

 De même chaque utilisateur est rattaché à au moins un groupe (groupe principal)..  Les groupes sont définis dans /etc/group.  La commande id permet d'obtenir ces

Dans ce chapitre, nous avons introduit de nouvelles primitives de manipulation de fichiers séquentiels, présenté des algorithmes de base permettant de traiter ou d'éliminer une

Une fois votre compte créé, le premier écran auquel vous vous trouverez confrontés est la console pour développeurs suivante:. C'est dans cet écran que tout se fait, vous

3- contrôles : (boutons, champs de saisie, case à cocher, etc.) 4- Les ressources : ensembles de fichiers(Images, textes, etc. ) 5- Le fichier de configuration (Manifest) : C’est