Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 21
Tirer le meilleur parti des bibliothèques Java 233
Enfin, mais ce n’est pas le moins important, les JAR des interpréteurs ont tendance à être...
gros. Celui du BeanShell utilisé ici fait 200 Ko, par exemple. Ce n’est pas ridicule si l’on
considère ce qu’il est capable de faire, mais cela implique que les applications qui utilisent
BeanShell seront bien plus longues à télécharger, qu’elles prendront plus de place sur le
terminal, etc.
Tout fonctionne... enfin, presque
Tous les codes Java ne fonctionneront pas avec Android et Dalvik. Vous devez plus précisément tenir compte des paramètres suivants :
● Si le code Java suppose qu’il s’exécute avec Java SE, Java ME ou Java EE, il ne trouvera peut-être pas certaines API qu’il a l’habitude de trouver sur ces plates-formes
mais qui ne sont pas disponibles avec Android. Certaines bibliothèques de tracé de
diagrammes supposent, par exemple, la présence de primitives de tracé Swing ou AWT
(Abstract Window Toolkit), qui sont généralement absentes d’Android.
● Le code Java peut dépendre d’un autre code Java qui, à son tour, peut avoir des problèmes pour s’exécuter sur Android. Vous pourriez vouloir utiliser un JAR qui repose, par
exemple, sur une version de la classe HTTPComponents d’Apache plus ancienne (ou
plus récente) que celle fournie avec Android.
● Le code Java peut utiliser des fonctionnalités du langage que le moteur Dalvik ne
reconnaît pas.
Dans toutes ces situations, vous pouvez ne rencontrer aucun problème lors de la compilation de votre application avec un JAR compilé ; ces problèmes surviendront plutôt lors de
l’exécution. C’est pour cette raison qu’il est préférable d’utiliser du code open-source avec
Android à chaque fois que cela est possible : vous pourrez ainsi construire vous-même le
code tiers en même temps que le vôtre et détecter plus tôt les difficultés à résoudre.
Relecture des scripts
Ce chapitre étant consacré à l’écriture des scripts avec Android, vous apprécierez sûrement
de savoir qu’il existe d’autres possibilités que l’intégration directe de Beanshell dans votre
projet.
Certains essais ont été réalisés avec d’autres langages reposant sur la JVM, notamment
JRuby et Jython. Pour le moment, leur support d’Android est incomplet, mais cette intégration progresse.
En outre, ASE (Android Scripting Environment), téléchargeable à partir d’Android
Market, permet d’écrire des scripts en Python et Lua, et de les faire exécuter par
BeanShell. Ces scripts ne sont pas des applications à part entière et, à l’heure où ce livre
est écrit, elles ne sont pas vraiment redistribuables. De plus, ASE n’a pas été réellement
Livre Android.book Page 233 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 21
Tirer le meilleur parti des bibliothèques Java 233
Enfin, mais ce n’est pas le moins important, les JAR des interpréteurs ont tendance à être...
gros. Celui du BeanShell utilisé ici fait 200 Ko, par exemple. Ce n’est pas ridicule si l’on
considère ce qu’il est capable de faire, mais cela implique que les applications qui utilisent
BeanShell seront bien plus longues à télécharger, qu’elles prendront plus de place sur le
terminal, etc.
Tout fonctionne... enfin, presque
Tous les codes Java ne fonctionneront pas avec Android et Dalvik. Vous devez plus précisément tenir compte des paramètres suivants :
● Si le code Java suppose qu’il s’exécute avec Java SE, Java ME ou Java EE, il ne trouvera peut-être pas certaines API qu’il a l’habitude de trouver sur ces plates-formes
mais qui ne sont pas disponibles avec Android. Certaines bibliothèques de tracé de
diagrammes supposent, par exemple, la présence de primitives de tracé Swing ou AWT
(Abstract Window Toolkit), qui sont généralement absentes d’Android.
● Le code Java peut dépendre d’un autre code Java qui, à son tour, peut avoir des problèmes pour s’exécuter sur Android. Vous pourriez vouloir utiliser un JAR qui repose, par
exemple, sur une version de la classe HTTPComponents d’Apache plus ancienne (ou
plus récente) que celle fournie avec Android.
● Le code Java peut utiliser des fonctionnalités du langage que le moteur Dalvik ne
reconnaît pas.
Dans toutes ces situations, vous pouvez ne rencontrer aucun problème lors de la compilation de votre application avec un JAR compilé ; ces problèmes surviendront plutôt lors de
l’exécution. C’est pour cette raison qu’il est préférable d’utiliser du code open-source avec
Android à chaque fois que cela est possible : vous pourrez ainsi construire vous-même le
code tiers en même temps que le vôtre et détecter plus tôt les difficultés à résoudre.
Relecture des scripts
Ce chapitre étant consacré à l’écriture des scripts avec Android, vous apprécierez sûrement
de savoir qu’il existe d’autres possibilités que l’intégration directe de Beanshell dans votre
projet.
Certains essais ont été réalisés avec d’autres langages reposant sur la JVM, notamment
JRuby et Jython. Pour le moment, leur support d’Android est incomplet, mais cette intégration progresse.
En outre, ASE (Android Scripting Environment), téléchargeable à partir d’Android
Market, permet d’écrire des scripts en Python et Lua, et de les faire exécuter par
BeanShell. Ces scripts ne sont pas des applications à part entière et, à l’heure où ce livre
est écrit, elles ne sont pas vraiment redistribuables. De plus, ASE n’a pas été réellement
Livre Android.book Page 233 Dimanche, 8. novembre 2009 12:23 12
