FelixDroid : un environnement pour     le développement et la gestion     dapplications OSGi dédiées à                Andr...
Plan de la présentation     • Le projet FelixDroid     • Android vs OSGi     • Contraintes et limitations dAndroid     • F...
Le projet FelixDroid     • FelixDroid :          –   Cadre de conception pour le développement et lexécution dapplications...
Android vs OSGi     • Dalvik-VM          –   Optimisée pour de multiples instances          –   Machine à registres       ...
Contraintes et limitations dAndroid     • Activity : élément de base pour réaliser des applications graphiques         dan...
Solutions pour le développement       dapplications graphiques OSGi sur Android     • Solution 1 :          –   Déploiemen...
Solutions pour le développement       dapplications graphiques OSGi sur Android     • Solution 1 :          –   Déploiemen...
FelixDroid : le cadre de conception     • FelixDroid définit un cadre de conception permettant de gérer les vues         e...
FelixDroid : le cadre de conception         felixdroid                      ViewContainer                                 ...
FelixDroid : exemple dutilisation (1/2)     • HelloWorld avec FelixDroid          –   La vue                   public clas...
FelixDroid : exemple dutilisation (2/2)     • HelloWorld avec FelixDroid            –   Lactivateur        public class Ac...
FelixDroid : le gestionnaire de plate-forme     • FelixDroid permet de gérer graphiquement la plate-forme Felix          –...
Démonstration : les applicationsNLS/UBS/Valoria              OUGF 19/05/2011 - Lille   13
Démonstration : gestion des bundlesNLS/UBS/Valoria               OUGF 19/05/2011 - Lille   14
Démonstration : gestion des OBRNLS/UBS/Valoria              OUGF 19/05/2011 - Lille   15
Un exemple dutilisation : le shellNLS/UBS/Valoria               OUGF 19/05/2011 - Lille   16
Questions                    ?NLS/UBS/Valoria   OUGF 19/05/2011 - Lille   17
Prochain SlideShare
Chargement dans…5
×

FelixDroid: Application de gestion du framework Felix pour Android

1 064 vues

Publié le

FelixDroid est basé sur le projet Apache Felix. Il intègre un framework facilitant la conception et la gestion de multiples applications "graphiques" OSGi pour Android. Il permet en outre de déployer, de démarrer, de mettre à jour, d'arrêter et de d'installer des bundles OSGi via une interface graphique comparable à celle utilisée habituellement pour les applications Android. FelixDroid permet également de gérer de multiples OBR. FelixDroid doit faire prochainement l'objet d'une diffusion via le projet Apache Felix.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 064
Sur SlideShare
0
Issues des intégrations
0
Intégrations
14
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

FelixDroid: Application de gestion du framework Felix pour Android

  1. 1. FelixDroid : un environnement pour  le développement et la gestion  dapplications OSGi dédiées à  AndroidNicolas Le SommerLaboratoire Valoria, Université de Bretagne Sudemail: Nicolas.Le­Sommer@univ­ubs.fr OUGF 19/05/2011 - Lille NLS/UBS/Valoria 1Web : http://www­valoria.univ­ubs.fr/Nicolas.Le­Sommer
  2. 2. Plan de la présentation • Le projet FelixDroid • Android vs OSGi • Contraintes et limitations dAndroid • FelixDroid : un cadre de conception pour le développement et lexécution dapplications graphiques OSGi sur Android • FelixDroid : le gestionnaire dapplications • DémontrationNLS/UBS/Valoria OUGF 19/05/2011 - Lille 2
  3. 3. Le projet FelixDroid • FelixDroid : – Cadre de conception pour le développement et lexécution dapplications graphiques OSGi sur Android – Gestion de lexé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 dun projet de second année de DUT Info de lIUT de Vannes – 3 groupes de projets en concurrence – Fusion des résultats des 3 groupes • FelixDroid sera diffusé prochainement en open sourceNLS/UBS/Valoria OUGF 19/05/2011 - Lille 3
  4. 4. 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 APP2 APP1 APP4 JVM DVM DVM APP3 APP1 APP3 APP2 DVM JVM Android OSGiNLS/UBS/Valoria OUGF 19/05/2011 - Lille 4
  5. 5. Contraintes et limitations dAndroid • 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 lapplication. • 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 à lavance.NLS/UBS/Valoria OUGF 19/05/2011 - Lille 5
  6. 6. Solutions pour le développement  dapplications graphiques OSGi sur Android • Solution 1 : – Déploiement dapplications Android contenant des activités indépendamment dOSGi – 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 dexister.NLS/UBS/Valoria OUGF 19/05/2011 - Lille 6
  7. 7. Solutions pour le développement  dapplications graphiques OSGi sur Android • Solution 1 : – Déploiement dapplications Android contenant des activités indépendamment dOSGi – 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 dexister. • Solution 2 : – 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 laccès à lactivité • Définition dun framework adapté.NLS/UBS/Valoria OUGF 19/05/2011 - Lille 7
  8. 8. 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 lorsquune application exprime une dépendance vis-à-vis du framework FelixDroid Conteur de vues Conteur de vues Conteur de vues Conteur de vues App 1 App 1 App 2 App 2 Gestionnaire de conteneurs Gestionnaire de conteneursNLS/UBS/Valoria OUGF 19/05/2011 - Lille 8
  9. 9. FelixDroid : le cadre de conception felixdroid ViewContainer FelixDroidView showView(FelixDroidView v) getView() : android.view.View addPanelMenuListener(PanelMenuListener pml) ... addOptionMenuListener(OptionMenuListener oml) OptionMenuListener showToast(Toast t) showDialogBox(Dialog d) onOptionsItemSelected(MenuItem item) addKeyEventListener(KeyEventListener kl) ... ... PanelMenuListener ContainerManager onMenuItemSelected(int featureId, MenuItem item) ... getContainer(BundleContext bc) : ViewContainer 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
  10. 10. FelixDroid : exemple dutilisation (1/2) • HelloWorld avec FelixDroid – La vue public class HelloWorldView extends FelixDroidView { public class HelloWorldView extends FelixDroidView { private View view; private View view; public HelloWorldView(ViewContainer vc) { public HelloWorldView(ViewContainer vc) { super(vc); super(vc); this.view = new TextView(vc.getContext()); this.view = new TextView(vc.getContext()); ((TextView)this.view).setText("Hello World!!"); ((TextView)this.view).setText("Hello World!!"); } } public View getView(){ public View getView(){ return this.view; return this.view; } } } }NLS/UBS/Valoria OUGF 19/05/2011 - Lille 10
  11. 11. FelixDroid : exemple dutilisation (2/2) • HelloWorld avec FelixDroid – Lactivateur public class Activator implements BundleActivator{ public class Activator implements BundleActivator{               public void start(BundleContext bundleContext) throws Exception {     public void start(BundleContext bundleContext) throws Exception {  ServiceReference sr =  ServiceReference sr =      bundleContext.getServiceReference(      bundleContext.getServiceReference(          felixdroid.ViewContainerManager.class.getName());          felixdroid.ViewContainerManager.class.getName());  ViewContainerManager vcm =   ViewContainerManager vcm =                  (ViewContainerManager)bundleContext.getService(sr);                 (ViewContainerManager)bundleContext.getService(sr);  ViewContainer vc = vcm.getContainer(bundleContext);  ViewContainer vc = vcm.getContainer(bundleContext);  vc.showView(new HelloWorldView(vc));  vc.showView(new HelloWorldView(vc));     }     } ... ... } }NLS/UBS/Valoria OUGF 19/05/2011 - Lille 11
  12. 12. 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 dune liste dOBR – Déploiement de bundles depuis des OBR • Visualisation et accès aux différentes applications en cours dexécutionNLS/UBS/Valoria OUGF 19/05/2011 - Lille 12
  13. 13. Démonstration : les applicationsNLS/UBS/Valoria OUGF 19/05/2011 - Lille 13
  14. 14. Démonstration : gestion des bundlesNLS/UBS/Valoria OUGF 19/05/2011 - Lille 14
  15. 15. Démonstration : gestion des OBRNLS/UBS/Valoria OUGF 19/05/2011 - Lille 15
  16. 16. Un exemple dutilisation : le shellNLS/UBS/Valoria OUGF 19/05/2011 - Lille 16
  17. 17. Questions ?NLS/UBS/Valoria OUGF 19/05/2011 - Lille 17

×