La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Programmation mobile: Android

Présentations similaires


Présentation au sujet: "Programmation mobile: Android"— Transcription de la présentation:

1 Programmation mobile: Android
PIF6004 Sujets Spéciaux en informatique II Programmation mobile: Android Sujets Introduction Anatomie d’une application Exemple d’une application (voir: Image Recognition on an Android Mobile Phone, Kristian Bon Jean Ive Billiaums)

2 Introduction Architecture d’Android

3 Architecture d’Android
Introduction Architecture d’Android Android est basé sur un HAL LINUX, fournissant des une multitude de pilotes existants, la gestion de la mémoire, gestion des processus/threads, gestion de la sécurité et des accès réseau La couche Libraries, écrites en C/C++, composée du Surface Manager, utilisé pour l’affichage des diverses fenêtres. OpenGL/ES (3D) et SGL (2D) sont les librairies graphiques du système, le Media Framework offre les fonctionnalités pour manipuler les formats media, ainsi que les fonts bitmap et vector, SQLite est le système de gestion de base de données, Webkit est le fureteur fournit par Android. Le android Runtime contient la machine virtuelle Dalvik qui interprète les Dex-files (byte code) qui résultent de la conversion de fichiers .jar lors du buildtime

4 Architecture d’Android
Introduction Architecture d’Android La couche Application Framework, écrites en JAVA, est composée des applications venant avec le téléphone (ou tablette). Le Activity Manager gère le cycle de vie de chaque application. Le Package Manager fait un suvis des applications installés sur l’appareil. Le Windows Manager est une abstraction du Surface Manager. Le Telephony Manager contient les API des applications du téléphone (tablette). Le Content Provider est un framework qui permet l’échange de données entre les applications. Le Resource Manager permet de stocker des chaînes, images etc… Le View System contient des boutons, des listes et gère aussi la redirection des événements, les layouts, les dessins. Le Location Manager, le Notification Manager et XMPP Manager sont d’autres APIs

5 Architecture d’Android
Introduction Architecture d’Android La couche Application, contient toutes les applications: Home, Contacts, fureteur, applications User

6 Introduction Les APIs Location Manager: permet la réception d’informations géographiques, il peut vous permettre de savoir votre localisation et par des Intents vous avertir quand vous vous approchez d’un endroit donné XMPP Service: permet la transmission de messages à d’autres systèmes Android, ces messages sont des Intents avec un nom et une valeur, ces messages peuvent contenir divers types d’information. Notification Manager: permet l’ajout de notifications dans la barre de status

7 Introduction Les APIs Views: Lists views, Grid views, Gallery views, boutons, checkbox, Map view (permet aux développeurs d’intégrer des cartes aux applications, Web view (permet d’intégrer du contenu HTML à une application

8 Anatomie d’une application
Une application Android peut être divisée en 4 composantes: Activity, IntentReceiver, Service, ContentProvider Une Activity est une interface utilisateur, une application mail comporte 3 activités: Mail list, une fenêtre pour afficher les messages, une fenêtre pour composer les courriels. Le IntentReceiver est une fonction exécutée lors de l’occurrence d’un événement externe Un Service est une tâche (méthode, code) qui ne possède pas d’interface et qui fonctionne en arrière-plan (backgroud) Le ContentProvider permet le partage de données entre processus/threads et applications

9 Anatomie d’une application
Le fichier AndroidManifest.xml contient des informations chargées au démarrage d’une application et ce avant l’exécution du code de l’application Ce fichier décrit les composantes (ex: activity etc..), définit entre autre quelle activity est démarrée lors du démarrage de l’application. Permet aussi de définir certaines permissions, comme les accès internet, le nom et l’icône de l’application sont aussi définis dans ce fichier, les librairies utilisées sont aussi identifiées

10 Anatomie d’une application

11 Anatomie d’une application
Phases de création (build) d’un package Android

12 Exemple d’une application
Reconnaissance d’images d’œuvre d’art (Android Museum Guide): Structure de contrôle de l’application

13 Exemple d’une application
Base de données: structure

14 Exemple d’une application
Base de données: création et utilisation Ouverture de la base de données, un objet DBAdaptor est instantié quand la méthode open() est exécutée

15 Exemple d’une application
Base de données: création et utilisation Création des tables

16 Exemple d’une application
Base de données: création et utilisation Création des tables (table vector)

17 Exemple d’une application
Base de données: création et utilisation Informations dans un fichier XML

18 Exemple d’une application
Base de données: création et utilisation Analyse lexicale (parsing) du fichier XML: méthode startElement()

19 Exemple d’une application
Base de données: création et utilisation Extraction des données du fichier XML

20 Exemple d’une application
Base de données: création et utilisation Écriture des données du fichier XML sur la Bd Méthode commitPainting()

21 Exemple d’une application
Démarrage de l’application: lecture de la Bd

22 Exemple d’une application
En sélectionnant Start Tour, la Tour-activity est démarrée, permet d’afficher une image preview

23 Exemple d’une application
Le bouton « takePicture » est associé à une méthode OnClickListener() qui elle appelle la méthode takePicture()

24 Exemple d’une application
Recherche d’image (threading): classe GPDS1

25 Exemple d’une application
Recherche d’image (threading): classe GPDS1

26 Exemple d’une application
Recherche d’image (threading): classe GPDS1 calculateBatch()

27 Exemple d’une application
Recherche d’image (threading): méthode findMatch()

28 Exemple d’une application
Recherche d’image (threading): méthode findMatch() Calcul de la distance

29 Exemple d’une application
Recherche d’image (threading): méthode findMatch() < 0.65

30 Exemple d’une application
Affichage des résultats: Classe ShowInfo, méthode setInfoFromPID()

31 Exemple d’une application
Résultats:

32 Exemple d’une application
Résultats: fichier main.xml contient la description du layout ( 1 textView, 2 boutons)

33 Exemple d’une application
Résultats: liaison du fichier main.xml avec l’activité principale

34 Exemple d’une application
Résultats: ButtonListener permet de déterminer quelle bouton est enfoncé

35 Exemple d’une application
Résultats: Tour screen a un layout contenant un camera preview

36 Exemple d’une application
Résultats: Création du layout contenant un camera preview en Java

37 Exemple d’une application
Résultats: Affichage des informations

38 Exemple d’une application
Résultats: Affichage des informations: layout avec tabs, ImageView et WebView

39 Exemple d’une application
Résultats: Affichage des informations: layout avec tabs, ImageView et WebView …..

40 Exemple d’une application
Résultats: Affichage des informations: classe ShowInfo.java

41 Exemple d’une application
Résultats: Affichage des informations: classe ShowInfo.java ….


Télécharger ppt "Programmation mobile: Android"

Présentations similaires


Annonces Google