Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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 ….
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.