AIR pour Android – Package et installation d'une application en un clic dans Flash Builder 4
Dans le premier tutorial sur Air pou Android, j'ai présenté les techniques de développement permettant de transformer son application AIR (SWF en fait) en application Android native (APK):
Air Android – Créer une application Air pour Android (apk), le guide de A à Z
Mais bon, c'est assez laborieux de passer par une ligne de commande pour compiler son application en APK puis d'utiliser une autre ligne pour pouvoir le mettre sur son device.
Heureusement, cela peut être fait directement dans Flash Builder 4, en un clic (ou deux). Pour cela, il suffit d'utiliser les "External Tools" d'Eclipse (et de Flash Builder 4 par extension). Cela permet de lancer des lignes de commande paramétrées directement depuis l'interface.
Création de script External Tool: Packaging
Rendez-vous dans Flash Builder puis rendez-vous dans le menu Run > External Tools > External Tools Configuration ou bien plus rapidement, en utilisant l'icône associé:
Puis cliquez sur New… pour créer une nouvelle configuration :
Donnez lui un nom, par exemple "PagkageAndroid" puis pour la location, donnez le chemin du fichier "adt.bat" que vous trouverez dans le SDK Air 2.5 (en utilisant Browse File System. Par exemple, pour moi cela se trouve dans "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks\3.5.0\bin\adt.bat".
Afin de réaliser une configuration générique pour tous vos projets, on va utiliser les variables Eclipse comme ${project.loc}. Cette variable va remplacer ${project.loc} par le chemin disque correspondant à l'application au moment du lancement. Comme "Working Directory", entrez donc "${project_loc}\bin-debug".
Viens ensuite le moment où il faut donner tous les paramètres d'exécution. Ce sont en fait les mêmes paramètres que vous passez en ligne de commande. Là aussi, vous pouvez utiliser les variables Eclipse pour rendre votre configuration vraiment générique:
-package
-target apk
-storetype pkcs12
-keystore
../cert/cert.p12
-storepass VOTRE_CERTIFICATE_PASSWORD
${project_name}.apk
${project_name}-app.xml
${project_name}.swf
/assets
N'oubliez pas de remplacer VOTRE_CERTIFICATE_PASSWORD par le mot de passe que vous avez donné au moment de la création de votre certificat. Si vous avez placé votre fichier de certificat (.p12) autre part, n'oubliez pas non plus de modifier le chemin d'accès vers celui-ci. Une fois que vous êtes prêt, cliquer sur Apply puis Run.
Voici ce que cela donne pour ma configuration:
Une fois que tout est prêt, vous pouvez lancer la configuration depuis le raccourci:
Une fois la configuration lancée, vous verrez que le processus se lance depuis la vue Console d'Eclipse. Si tout se déroule bien, vous devriez obtenir votre apk dans le répertoire bin-debug. Si vous ne le voyez pas, faîtes clic droit > Refresh sur le dossier bin-debug.
Script d'installation sur device
On va maintenant aller plus loin et faire un deuxième script permettant d'installer l'apk crée sur votre mobile (device).
Créez une nouvelle configuration et pointez la "Location" sur l'exécutable adb.exe qui fait partie du SDK Android. Comme Argument, on va utiliser à nouveau les variables Eclipse:
install
-r ${project_loc}/bin-debug/${project_name}.apk
Voici ma configuration:
N'oubliez pas à chaque fois, de bien sélectionner votre projet dans l'arbre du PackageExplorer avant de lancer vos scripts
Hero – Le premier build de Flex 4.5 dévoilé
J'en parlais il y a quelques semaines, la prochaine version du SDK Flex (Flex 4.5) sera nommée Hero. Celle-ci comportera notamment des composants pour plate-formes mobiles bien pratiques. Pour plus d'informations, lire ce billet:
Hero – Le prochain Flex SDK (4.5) avec composants pour mobiles
Et aujourd'hui, la Product Manager de Flex, Deepa Subramaniam a annoncé sur son blog, le premier build public de ce SDK:
Exciting Developments with Hero
Ce build (4.5.0.17077) peut être téléchargé sur le site Open Source @ Adobe:
Télécharger le dernier build de Hero Flex 4.5
Ce build est le premier, il est donc incomplet et sûrement buggé. Pas de composants mobiles dans cette version (pour l'instant!), voici les fonctionnalités implémentées:
Je suis allé jeter un coup d'oeil sur les documentations (encore incomplètes elles aussi) et les composants Image et DataGrid sont vraiment cool!
Notamment la possibilité de donner une SkinPart à une image pour l'affichage du preloading de l'image. Plus besoin de faire une nouvelle classe qui va hériter de Image pour cela. Notez aussi que ce composant Image intègre directement une mise en cache des éléments chargés. Ici aussi, on aura plus besoin de SuperImage et autres.
Le composant Spark DataGrid est lui, le remplaçant de la DataGrid mais aussi, à terme, de l'AdvancedDataGrid. Lisez les specifications, les modifications apportées ont du sens
.
Pour l'instant, ils ont trouvé le set de couleurs le plus moche pour les couleurs de rollover / selection de base
:
LCCS – Carte Google Maps collaborative synchronisée avec Whiteboard
Ah, si seulement j'avais le temps d'en faire autant que Christophe Coenraets, je ferais sûrement des trucs super cool comme lui ^^. Jour après jour, il nous présente des applications collaboratives basées sur LCCS (LiveCycle Collaboration Service). Après la vidéo-conférence et le morpion, un peu de cartographie cette fois.
L'application est comme d'habitude, multi-plateforme. Ainsi, il l'exécute sur son mobile Android et l'autre personne qui collabore avec lui l'utilise depuis son navigateur. On peut donc créer une session de collaboration, qui est une room LCCS. A partir de ce moment-là, on arrive sur une page avec une carte Google et plusieurs options:
- Activer le whiteboard pour pouvoir dessiner avec votre collaborateur sur la carte
- Inviter un utilisateur: L'application envoie un mail à votre contact contenant un lien vers une page web qui contient l'application. Celle-ci vous connectera directement la personne qui vous a invité
- Activer / Désactiver le partage de webcam.
Pendant ce temps-là, la carte est synchronisée. Si votre collaborateur zoom in/out ou fait un déplacement, vous verrez directement le résultat sur votre carte.
Voir l'article original: Multi-User Google Maps Collaboration on Android
Tester l'application dans votre navigateur (ouvrez plusieurs onglets pour tester)
LCCS – Jeu de Morpion en réseau (client Android ou web)
Encore une expérimentation sympa de Christophe Coenraets
. Après le chat vidéo en moins de 30 lignes, il continue à utliser LCCS mais cette fois pour un jeu bien connu, le morpion. Deux joueurs peuvent donc rejoindre une "room" (une "room" au sens LCCS) et jouer au morpion. Une application Air pour Android est aussi disponible, basée sur le même code source. On a ici un bel exemple de ré-utilisation de code. L'application est codée une fois et visible sur 2 écrans.
En plus de cela, chaque utilisateur peut voir la vidéo de son concurrent pendant le jeu. Au moment de la création d'un jeu de morpion, vous pouvez aussi inviter un autre utilisateur à vous rejoindre en lui envoyant un email. Pour cela, l'application utilise la fonctionnalité email native d'Android.
Voilà la vidéo de démonstration:
Si vous souhaitez y jouer, c'est par ici:
Et si vous souhaitez voir comment l'application est faîte, vous pouvez même télécharger le code source.
Flex Tips – 1046: Type was not found or was not a compile-time constant: GroupSpecifier / NetGroup [Résolu]
Juste un petit billet pour ceux qui ont le même problème. Ce problème est arrivé quand j'ai voulu utiliser le dernier SDK LCCS dans mon application.
Pour bénéficier des dernières améliorations, j'ai pris le SDK pour Flash Player 10.1 et quand j'ai essayé de compiler mon application, j'ai eu 2 erreurs dans la vue Problems:
1046: Type was not found or was not a compile-time constant: GroupSpecifier
1046: Type was not found or was not a compile-time constant: NetGroup
Je pensais au départ que le SDK n'était pas complet mais ces classes font en fait partie de l'API Flash Player 10.1. Pour corriger ce problème, rendez-vous dans les propriétés de votre projet et spécifiez comme version cible, la version 10.1:
Voilà, c'est tout bête mais ça va peut être éviter à quelqu'un de perdre 10 minutes. Je peux donc maintenant commencer mon application avec partage de bureau à distance visible depuis une application Android












