Cours android

Cours programmation Android de la conception au déploiement PDF


Télécharger Cours programmation Android de la conception au déploiement PDF

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


 

Plan

Presentation d’Android´

Qu’est ce qu’Android ?

Qui utilise Android ?

Les challenges releves par l’OS´ Tel´ echarger/Distribuer des´ applications Architecture logicielle

Concepts de base

Un peu de vocabulaire

Architecture logicielle d’Android

Les projets Android

          Creer un projet´ a partir d’un exemple`

Creer son propre projet´

Structuration globale des repertoires´ 4          Activites´

Definition´

Cycle de vie

Hello world++

Layout XML

XML

Utiliser des layouts XML

Manifeste

Avant-propos

Contenu

Conventions

Les ressources

Les permissions

Exemple

Etude de classes sp´          ecifiques´ a Android`

Bibliographie

Plan

Presentation d’Android´

Qu’est ce qu’Android ?

Qui utilise Android ?

Les challenges releves par l’OS´ Tel´ echarger/Distribuer des´ applications Architecture logicielle

Concepts de base

Les projets Android

Activites´

Layout XML

Manifeste

Etude de classes sp´          ecifiques´ a Android`

Bibliographie


Qu’est ce qu’Android?

Qu’est ce qu’Android?

Un systeme d’exploitation open source`

?   Un systeme d’exploitation`       oriente´ dispositif mobiles

? il s’agit donc d’un ensemble de logiciels qui sert d’interface entre le materiel (les´ composants du tel´ ephone, d’une tablette ) et les logiciels applicatifs (ceux que vous allez´ developper).´

?   Un systeme d’exploitation`       open source

? disponibilite du code,´

? importante communaute d’utilisateurs.´

?   Un systeme d’exploitation`       base sur le noyau´               Linux ? Environnement de developpement´ gratuit

? Programmation en Java ou en langage C,

? Kit de developpement (´            SDK Android) disponible au lien

Qu’est ce qu’Android? Les versions d’Android

 

Les plateformes Android

 

Android et ses concurrents 1/2

 

Android et ses concurrents 2/2

 

Les challenges releves par l’OS´ Les challenges

 

Tel´ echarger/Distribuer des applications´

Tel´ echarger/Distribuer des applications´

Google Play Store (ancien Android Market)

Systeme standard de t` el´ echargement/distribution d’applications.´

?    Pas de verification´   des applications

?    Navigation plus laborieuse que AppMarket (recherche par categories, mots cl´              es, prix)´

?    Necessite un´            terminal certifie´ (camera, 3G, compass )

?    Gestion des autorisations avant l’installation

?    Des centaines de milliers d’applications disponibles (57% gratuites) Si vous souhaitez vendre vos applications :

?    25$ pour s’inscrire en tant que developpeur´

?    70% du prix revient au developpeur,´          30% a Google`

?    Revenus perc¸us via Google CheckOut

Tel´ echarger/Distribuer des applications´

Tel´ echarger/Distribuer des applications´

Autres plateformes

Il existe d’autres plateformes de distributions legales´        (i.e. autorisees par Google)´ d’applications. Elles permettent notamment l’acces aux`               terminaux non certifies´ .

?   AppsLib (Archos) : http

?   AndroLib : http ? Market Samsung

?  

Plan

Presentation d’Android´    5                      Layout XML

Concepts de base              6                      Manifeste

Un peu de vocabulaire

           Architecture logicielle d’Android                7     Etude de classes sp´ ecifiques´ a Android`

Les projets Android            8                      Bibliographie

Activites´


Activite (´ Activity)

?   Brique de base d’une interface utilisateur

?   Equivalent d’une fen´    etre (Windows, Linux) ou d’une boˆ      ˆ?te de dialogue

?   Une activite peut´          eventuellement ne pas avoir d’interface utilisateur (cas des services´ par exemple)

Fournisseur de contenu (Content provider)

?   Niveau d’abstraction pour toutes donnees stock´        ees sur le terminal´

?   Android encourage la mise a disposition`     de ses propres donnees aux autres´ programmes

? Le content provider le permet en proposant un controleˆ             sur la fac¸on dont on accedera´ aux donnees´

Intention (Intent)

?   Une intention est un message systeme qu’on peut qualifier d’`  ev´ enement´

?   Emis par le terminal pour pr´        evenir les applications de la survenue d’´              ev´ enements (cas´ des ev´ enements syst´           emes`       ) ou par tout autre application (cas des ev´ enements´ applicatifs).

-   Systeme`               :

?   Insertion d’une carte SD

? Reception d’un SMS´

?

-   Applicatif : (on peut imaginer)

?   Un Intent ”Le logiciel NetSpyR&T demarre”´

? Un Intent ”L’utilisateur arrive a Paris” en utilisant les informations de g`               eolocalisation´ du terminal”

Service (Service)

?   Logiciel autonome prevu pour durer (contrairement aux activit´                es, fournisseurs de´ contenus, recepteur d’intentions).´ ? Ne necessite pas d’interface utilisateur.´

?   Exemples :

-    Service verifiant p´  eriodiquement des mises-´         a-jour de flux RSS`

-    Service permettant d’ecouter une playlist (ind´          ependamment de toute activit´  e)´

Manifeste (Manifeste)

?   Point de depart de toute application Android´

?   Permet de declarer´      ce que l’application contient (activites, services )´

?   Precise comment ces composants sont reli´ es´           a Android (que fait-on apparaitre dans le` menu ? )

?   Precise les´    permissions de l’application (controle de la webcam, accˆ   es au r`    eseaux,´ acces au service de localisation )`

Gadget graphique (Widget)

?   Terme resultant de la contraction des termes´            window et gadget

?   Concretement c’est un` composant d’interface graphique (libelles, champs de saisie,´ boutons )

XML (XML)

?   Extensible Markup Language (langage de balisage extensible)

?   Langage de balisage extensible pour structurer des donnees´

Positionnement XML (XML Layout)

?   Permet de concevoir des interfaces plus simplement qu’en langage Java



?   Permet concretement d’`              instancier les widgets

?   Ce fichier est souvent gen´            er´ e par des outils´ qui permettent de construire graphiquement les interfaces

Identifiant uniforme de ressource (Uniform Resource Identifier - URI)

?   courte chaˆ?ne de caracteres`            identifiant une ressource sur un reseau r´   eel ou abstrait´ ? respecte une norme d’Internet mise en place pour le Web (voir RFC 3986).

?   Sont des URI :

-    les Uniform Resource Locator (URL) : identifie une ressource sur un reseau et fournit les´ moyens d’agir sur la ressource ou d’obtenir une representation´       de la ressource en decrivant son´ mode d’acces primaire`             .

Exemple : identifie une ressource (page d’accueil Wikipedia) et´ implique qu’une representation de cette ressource (une page HTML en caract´                     eres encod` es) peut´       etreˆ obtenue via le protocole HTTP depuis un reseau h´             ote appelˆ    e .´

-    les Uniform Resource Name (URN) : identifie une ressource par son nom dans un espace de noms.

Exemple : urn:isbn:0-395-36341-1 identifie une ressource par un numero de l’International´ Standard Book Number (ISBN), permet de faire ref´ erence´ a un livre, mais il ne sugg` ere ni o` u, ni comment` en obtenir une copie reelle.´

Conteneur (Container)

?   Permet de disposer un ensemble de widgets pour obtenir la presentation d´              esir´         ee´

?   La plupart des outils de construction d’interfaces graphique fournissent des gestionnaires de disposition (layout manager) qui sont organises le plus´ frequemment en conteneurs.´

Equipement Android virtuel (´     Android Virtual Devices)

?   Les AVD permettent de simuler l’execution´  d’un terminal Android sur un ordinateur

?   Ces terminaux sont personnalisables (version d’Android, type de processeur, espace de stockage ).

? Simplifie le developpement´      et la mise au point des applications


Architecture logicielle d’Android Architecture logicielle d’Android

Plan

Presentation d’Android´    4                      Activites´

Concepts de base              5                      Layout XML

Les projets Android            6                      Manifeste

          Creer un projet´ a partir d’un exemple`

          Creer son propre projet´                              7     Etude de classes sp´ ecifiques´ a Android`

Structuration globale des repertoires´

                                                                               8      Bibliographie

 

 

21 / 51

 

21 / 51

 

21 / 51


       

 

23 / 51

Structure d’un projet Android : la racine

Repertoire´  /

?   : Le fichier manifest qui decrit l’application´

?   : Le script Ant qui permet de compiler l’application et de l’installer sur le terminal

?   default.properties et local.properties : Deux fichiers de propriet´ es´    utilises par le´ script Ant

?   bin/ : Repertoire qui contient l’´        application compilee´

?   gen/ : Repertoire qui contient le´       code source produit par les outils de compilation Android

?   libs/ : Repertoire qui contient les´      fichiers JAR exterieurs´              a l’application`

?   src/ : Repertoire qui contient´           code source Java de l’application

?   res/ : Repertoire qui contient les´      ressources (iconesˆ   , layouts )

?   tests/ : Repertoire qui contient un´    projet Android completement distinct`       qui permet de tester celui qui est creé´

?   assets/ : Repertoire qui contient les´  autres fichiers statiques fournis avec l’application pour son deploiement sur le terminal´

24 / 51

Structure d’un projet Android : les ressources

Contenu du repertoire´    res/

?   res/drawable/ : Repertoire qui contient´            les images (JPG, PNG )

?   res/layout/ : Repertoire qui contient les descriptions XML de la composition de l’IHM (les´ layouts)

?   res/menu/ : Repertoire qui contient les´            descriptions XML des menus

?   res/raw/ : Repertoire qui contient les´ fichiers gen´             eraux´      (un fichier CSV contenant les informations de compte par exemple)

?   res/values/ : Repertoire qui contient les´            messages, les dimensions

?   res/xml/ : Repertoire qui contient les´ autres fichiers XML que vous souhaitez fournir

25 / 51


Structure d’un projet Android : les executables´

Contenu du repertoire´    bin/

?   bin/classes/ : Repertoire qui contient les´           classes java compilees´

?   : Repertoire qui contient´           l’executable´            creé´ a partir des classes compil`               ees´

?   : Repertoire qui contient les´    ressources de l’application (fichier zip)

?   : Repertoire qui contient la´          veritable application Android´

26 / 51


Plan

Presentation d’Android´

Concepts de base

Les projets Android

Activites´

Definition´

Cycle de vie

 Hello world++

Layout XML

Manifeste

Etude de classes sp´          ecifiques´ a Android`

Bibliographie

27 / 51


Definition´

Qu’est ce qu’une activite?´

Definition´

? Une activite (´ Activity) = une IHM pour un cas d’utilisation (cf cours UML) : Exemple : Soit une application d’envoi de SMS

-    Une activite pour choisir un contact dans le r´             epertoire´

-    Une activite pour la saisie du message´

-    Une activite pour afficher le journal des envois´ ? D’un point de vue operationnel :´

-    Une activite doit´      heriter´    de la classe .Activity

-    Une activite est´       independante des autres´          activites MAIS :´

                        ? Il faut designer une´ activite de d´ epart´ (celle qui sera utilisee en 1er)´

                       ? Il faut chainer les activites´ (une activite doit activer la suivante)´



-    Nous considerons dans notre cours qu’une activit´       e est li´     ee´           a un` layout XML.

28 / 51


               

Hello world++ Une illustration


Plan

Presentation d’Android´

Concepts de base

Les projets Android

Activites´

Layout XML

XML

Utiliser des layouts XML

Manifeste

Etude de classes sp´          ecifiques´ a Android`

Bibliographie

31 / 51


 

         

Integrer des layouts XML dans mon application´

Les etapes :´

         Avec un editeur texte ou un outil le g´ en´ erant :´

1.  Creer un layout XML´         (porter une attention particuliere aux`                   identifiants des widgets)

Dans le programme Java :

2.  Charger le layout

3.  Instancier les widgets sur lesquels on veut agir

34 / 51

         

Choix du layout

LinearLayout: Il organise les differents´             el´ ements de votre interface sur une ligne ou sur une´ colonne.

AbsoluteLayout: Cette mise en page vous laisse definir les coordonn´  ees exactes des´        el´ ements´ qui le composent.

RelativeLayout: Il permet de definir la position des´           el´ ements en fonction de la position de leurs´ el´ ements parents. On ne peut pas avoir de d´       ependance circulaire dans la taille dans le´ RelativeLayout.

TableLayout: Cette mise en page peut se faire en colonne et en ligne.


Placer les widgets

EditText: Un champ de texte editable´

Toast: Un pop up message qui s’affiche sur

l’ecran´

ImageView: Une image

CheckBox: Une case a cocher`

Button: Un bouton cliquable

RadioButton: selecteurs/interrupteurs.´

ImageButton: Une image qui se comporte comme un bouton

DatePicker: Un selecteur de dates´

SlidingDrawer: Un el´ ement qui se pr´                      esente sous´ forme d’un tiroir qu’on ouvre et ferme

36 / 51


             

Integrer des layouts XML dans mon application´

 

38 / 51

Integrer des layouts XML dans mon application´

 

39 / 51


Plan

Presentation d’Android´

Concepts de base

Les projets Android

Activites´

Layout XML

Manifeste

Avant-propos

Contenu

Conventions

Les ressources

Les permissions

Exemple

Etude de classes sp´          ecifiques´ a Android`

Bibliographie

40 / 51


Avant-propos

 

41 / 51

Contenu

Contenu

?   Precise le nom du package java utilisant l’application. Cela sert d’identifiant unique !´

?   Decrit les composants de l’application´

-    Liste des activites´ , services, broadcast receivers

-    Precise les classes qui les impl´ ementent´

-    Precise leurs´          capacites´ (a quels intents ils r`  eagissent)´

? Ceci permet au systeme de savoir comment lancer chaque partie de l’application afin de`

                  satisfaire au principe de reutilisabilit´ e.´

?   Definit les´       permissions de l’application

-    Droit de passer des appels

-    Droit d’acceder´      a Internet`

-    Droit d’acceder au GPS´

-   

?   Precise la´       version d’Android minimum necessaire´

?   Declare les´     librairies utilisees´

?   Declare des outils d’´        Instrumentation (uniquement pour le developpement)´

42 / 51

Conventions

Conventions

?   Seuls deux el´ ements sont obligatoires :´

-    <manifest> : contient le package, la version Englobe tout le fichier

-    <application> :decrit l’application´            et contiendra la liste de ses composants

?   Les donnees sont pass´     ees en tant qu’attribut et non en tant que contenu´

?   Tous les attributs commencent par android: (sauf quelques un dans <manifest>)

43 / 51

Les ressources

 

44 / 51

Les permissions

 

45 / 51

Les permissions

 

46 / 51

Exemple


                                    Etude de classes sp´ ecifiques´ a Android`

Plan

Presentation d’Android´

Concepts de base

Les projets Android

Activites´

Layout XML

Manifeste

Etude de classes sp´          ecifiques´ a Android`

Bibliographie

48 / 51


Etude de classes sp´ ecifiques´ a Android`

 

49 / 51

Bibliographie


Presentation d’Android´

Concepts de base

Les projets Android

Activites´

Layout XML

Manifeste

Etude de classes sp´          ecifiques´ a Android`

Bibliographie

50 / 51


51 / 51



12