FelixDroid : un environnement pour le développement et la gestion d'applications OSGi dédiées à Android



Documents pareils
Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

TD/TP 1 Introduction au SDK d Android

TP au menu «UI ANDROID»

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

JOnAS 5 Enterprise OSGi javaee compliant

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

TP SIN Programmation sur androïde Support : eclipse

Reversing Android. Aïe, robot...

Sauvegarde Android

Tutorial pour une application simple

I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi

Projet Android (LI260) Cours 2

1.3 Gestion d'une application

TecLocal 4.0. Nouveautés de la version 4.0 (notes de mise à jour)

Bases Java - Eclipse / Netbeans

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski

Formation Symantec Veritas Cluster Server 6.x pour Unix

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

JOnAS Day 5.1. Outils de développements

Remote Method Invocation (RMI)

À propos du Guide de l'utilisateur final de VMware Workspace Portal

Serveur d'application à la juste taille

Edutab. gestion centralisée de tablettes Android

TP1 : Initiation à Java et Eclipse

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

JOnAS 5. Serveur d application d

Android 4 Les fondamentaux du développement d'applications Java

ELEMENTS DE BUREAUTIQUE

Quick Start Installation de MDweb version 2.3

La plate-forme dynamique de service OSGi

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Education Delivery Intelligent Tool

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Comment CONFIGURER la plate-forme de dictées Philips Speechexec?

Etude de la plateforme Eclipse

KASPERSKY SECURITY FOR BUSINESS

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments


JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Exposé Systèmes Réseaux

Chapitre 1 Retour en arrière

Présentation des offres MobileIron Cloud

Création d objet imbriqué sous PowerShell.

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

Développement Android. J.-F. Couchot

RMI le langage Java XII-1 JMF

Remote Method Invocation Les classes implémentant Serializable

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

Projet de fin d'études

Java 7 Les fondamentaux du langage Java

ECLIPSE RCP. Introduction

Programmation Par Objets


Synchro et Threads Java TM

Corrigé des exercices sur les références

Android Usage Professionnel

Virtualisation de postes de travail et d application. Jean-Claude DAUNOIS Senior Systems Engineer VMware

Emmanuel CROMBEZ 30 mai 2015

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications


Procédure d'installation de SQL Server Express 2008

1. Installation d'un serveur d'application JBoss:

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Administration en Ligne e-démarches. Console du gestionnaire. Guide utilisateur. Aout 2014, version 2.1

Module d anonymisation

4. Groupement d objets

Rapport de projet de fin d études

Guide d'administration

Manuel d'utilisation: Gestion commerciale - CRM

Programmation par composants (1/3) Programmation par composants (2/3)

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Les fondamentaux du développement d applications Java

Créer des applications Android

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Manuel logiciel client for Android

OSGi. Conception d applications modulaires en Java. Jérôme Molière. Préface de Peter Kriens. Groupe Eyrolles, 2012, ISBN :

Encore plus de widgets et de conteneurs

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Manuel de l'utilisateur CLAVIER ÉLECTRONIQUE LEVERSET AVEC PROGRAMMATION BLUETOOTH. ASSA ABLOY, le leader mondial en matière de solutions de porte

IntentOS, le système d'exploitation du bâtiment

Développement sous Android

1 è r e étape : créer sa base de d o n n é e s

Messagerie asynchrone et Services Web

Arbres binaires de recherche

Java Licence professionnelle CISII,

Guide informatique AUDIT EVALUATION DE LA PRATIQUE DE L ANTIBIOPROPHYLAXIE EN MATERNITE

Gestionnaire d emploi du temps

La base de données XML exist. A. Belaïd

Transcription:

FelixDroid : un environnement pour le développement et la gestion d'applications OSGi dédiées à Android Nicolas Le Sommer Laboratoire Valoria, Université de Bretagne Sud email: Nicolas.Le Sommer@univ ubs.fr Web : http://www valoria.univ ubs.fr/nicolas.le Sommer OUGF 19/05/2011 - Lille NLS/UBS/Valoria 1

Plan de la présentation Le projet FelixDroid Android vs OSGi Contraintes et limitations d'android FelixDroid : un cadre de conception pour le développement et l'exécution d'applications graphiques OSGi sur Android FelixDroid : le gestionnaire d'applications Démontration NLS/UBS/Valoria OUGF 19/05/2011 - Lille 2

Le projet FelixDroid FelixDroid : Cadre de conception pour le développement et l'exécution d'applications graphiques OSGi sur Android Gestion de l'exécution simultanée de plusieurs applications graphiques Repose sur le framework Felix Permet la gestion du framework Felix de manière graphique Gestion des bundles, et des OBR FelixDroid est le résultat d'un projet de second année de DUT Info de l'iut de Vannes 3 groupes de projets en concurrence Fusion des résultats des 3 groupes FelixDroid sera diffusé prochainement en open source NLS/UBS/Valoria OUGF 19/05/2011 - Lille 3

Android vs OSGi Dalvik-VM Optimisée pour de multiples instances Machine à registres Les fichiers sont dans le format dex Les applications sont déployées via une archive.apk Zip contenant les classes, ressources et un fichier AndroidManifest.xml APP1 DVM APP2 DVM APP1 JVM APP4 APP3 APP1 APP2 APP3 DVM JVM Android OSGi NLS/UBS/Valoria OUGF 19/05/2011 - Lille 4

Contraintes et limitations d'android Activity : élément de base pour réaliser des applications graphiques dans Android. Android impose de déclarer toutes les activités dans le fichier AndroidManifest.xml de l'application. Android permet de partager des éléments graphiques entre les applications via un mécanisme appelé Intents. Difficile de connaître les éléments partagés pour un développeur Dépend des applications installées sur le terminal Pas de gestion des dépendances contrairement à OSGi. Comment déployer des applications graphiques OSGi sur Android? Activités pas connues à l'avance. NLS/UBS/Valoria OUGF 19/05/2011 - Lille 5

Solutions pour le développement d'applications graphiques OSGi sur Android Solution 1 : Déploiement d'applications Android contenant des activités indépendamment d'osgi Invocation depuis OSGi des activités via des Intents Incohérences entre les bundles OSGi et les applications Android Cycles de vie différents On peut supprimer une application Android alors que le bundle OSGi utilisant cette application continu d'exister. NLS/UBS/Valoria OUGF 19/05/2011 - Lille 6

Solutions pour le développement d'applications graphiques OSGi sur Android Solution 1 : Déploiement d'applications Android contenant des activités indépendamment d'osgi Invocation depuis OSGi des activités via des Intents Incohérences entre les bundles OSGi et les applications Android Solution 2 : Cycles de vie différents On peut supprimer une application Android alors que le bundle OSGi utilisant cette application continu d'exister. Une seule Activité (celle qui permet de démarrer le framework Felix) et partage de cette activité entre les différentes vues des applications OSGi Nécessité de gérer l'accès à l'activité Définition d'un framework adapté. NLS/UBS/Valoria OUGF 19/05/2011 - Lille 7

FelixDroid : le cadre de conception FelixDroid définit un cadre de conception permettant de gérer les vues et les événements (menus, boutons) Chaque application dispose de son propre conteneur de vues Un conteneur est créé automatiquement par FelixDroid lorsqu'une application exprime une dépendance vis-à-vis du framework FelixDroid Conteur de vues Conteur de vues App 1 App 2 Gestionnaire de conteneurs NLS/UBS/Valoria OUGF 19/05/2011 - Lille 8

FelixDroid : le cadre de conception felixdroid ViewContainer showview(felixdroidview v) addpanelmenulistener(panelmenulistener pml) addoptionmenulistener(optionmenulistener oml) showtoast(toast t) showdialogbox(dialog d) addkeyeventlistener(keyeventlistener kl) ContainerManager getcontainer(bundlecontext bc) : ViewContainer FelixDroidView getview() : android.view.view OptionMenuListener onoptionsitemselected(menuitem item) PanelMenuListener onmenuitemselected(int featureid, MenuItem item) KeyEventListener onkeydown(keyevent) onkeyup(keyevent) onkeylongpress(keyevent) org.apache.felix.framework org.osgi.framework android Felix BundleActivator BundleContext View NLS/UBS/Valoria OUGF 19/05/2011 - Lille 9

FelixDroid : exemple d'utilisation (1/2) HelloWorld avec FelixDroid La vue public class HelloWorldView extends FelixDroidView { private View view; public HelloWorldView(ViewContainer vc) { super(vc); this.view = new TextView(vc.getContext()); ((TextView)this.view).setText("Hello World!!"); } } public View getview(){ return this.view; } NLS/UBS/Valoria OUGF 19/05/2011 - Lille 10

FelixDroid : exemple d'utilisation (2/2) HelloWorld avec FelixDroid L'activateur public class Activator implements BundleActivator{ public void start(bundlecontext bundlecontext) throws Exception { ServiceReference sr = bundlecontext.getservicereference( felixdroid.viewcontainermanager.class.getname()); ViewContainerManager vcm = (ViewContainerManager)bundleContext.getService(sr); ViewContainer vc = vcm.getcontainer(bundlecontext); vc.showview(new HelloWorldView(vc)); } } NLS/UBS/Valoria OUGF 19/05/2011 - Lille 11

FelixDroid : le gestionnaire de plate-forme FelixDroid permet de gérer graphiquement la plate-forme Felix Gestion des bundles Installation, démarrage, mise-à-jour, arrêt, suppression Information sur les bundles Versions, dépendances, Gestion des OBR Ajout et suppression d'une liste d'obr Déploiement de bundles depuis des OBR Visualisation et accès aux différentes applications en cours d'exécution NLS/UBS/Valoria OUGF 19/05/2011 - Lille 12

Démonstration : les applications NLS/UBS/Valoria OUGF 19/05/2011 - Lille 13

Démonstration : gestion des bundles NLS/UBS/Valoria OUGF 19/05/2011 - Lille 14

Démonstration : gestion des OBR NLS/UBS/Valoria OUGF 19/05/2011 - Lille 15

Un exemple d'utilisation : le shell NLS/UBS/Valoria OUGF 19/05/2011 - Lille 16

Questions? NLS/UBS/Valoria OUGF 19/05/2011 - Lille 17