begin process at 2012 02 15 19:56:49
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Api

 > Utilisation de Merapi (Communication entre Java et Flex)

Utilisation de Merapi (Communication entre Java et Flex)


 Information sur le tutoriel

Déposé par ardeus le 03/04/2009 12:05:02
Dans la catégorie Api
Vu : 6 224 fois
 

Ecrire un message privé à l'auteur
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Note :
Aucune note

 Description

Comment utiliser Merapi.

Personnelement je l'utilise pour faire une application Dock. Donc pour pouvoir lancer mes applications de façon optimale, J'ai eu besoin de merapi.

Tutorial

MERAPI


Merapi est une librairie qui permet la communication entre Flex et Java.

Elle permet la transmission de message entre les deux langages afin d’étendre les possibilités de vos applications.


Pour pouvoir accéder à cette librairie très intéressante, il faut s’inscrire sur le site officiel.


Comment l’utiliser :


  • Commencez par créer un projet Flex air.
  • Ajoutez y la librairie fournie dans le package merapi.


  • Créez un projet Java.
  • Ajoutez-y les librairies merapi fournie.


Rien qu’en faisant cela, merapi est déjà utilisable.


Voici mon fichier source mxml :


<?xml version="1.0" encoding="utf-8"?>

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="285" height="42" xmlns:merapi="merapi.*">

    <mx:Button x="207" y="10" label="Send" id="btn_send" click="sendRequest()"/>

    <mx:TextInput x="10" y="10" id="ti_text"/>

    <merapi:BridgeInstance id="bridge" result="handleResponse(event)"/>

    

    <mx:Script>

     <![CDATA[

     import mx.controls.Alert;

     import merapi.Bridge;

     import merapi.messages.Message;

     import mx.rpc.events.ResultEvent;

                        

     private function sendRequest():void{

        var message:Message = new Message("MerapiTest", ti_text.text);

        bridge.sendMessage(message);

     }

            

     private function gotResult(e:ResultEvent):void{

        Alert.show(e.message.body.toString());

     }

            

     private function handleResponse(event:Event):void{

        var ev:ResultEvent = ResultEvent(event);

        var msg:Message = Message(ev.result);

        if (msg.type == "MerapiTest") {

         Alert.show(String(msg.data));

        }

     }


    ]]>

    </mx:Script>    

</mx:WindowedApplication>


Voici mon fichier source Java :


package be.fsoffe.javamerapi;


import merapi.Bridge;

import merapi.messages.IMessage;

import merapi.messages.IMessageHandler;

import merapi.messages.Message;


public class MerapiTest implements IMessageHandler{

    

    /**

     * @param args

     */

    public static void main(String[] args) {

     try {

     Bridge.getInstance().registerMessageHandler("MerapiTest", new MerapiTest());            

     } catch (Exception e) {

            e.printStackTrace();

     }

    }


    @Override

    public void handleMessage(IMessage msg) {        

     try {

     System.out.println(((Message)msg).getData());

     Bridge.getInstance().sendMessage(new Message("MerapiTest","Hello From Java"));

     } catch (Exception e) {

     e.printStackTrace();

     }

    }


}


Si vous connaissez les deux langages, le code parle de lui-même.


Pour Le faire fonctionner il suffit de reprendre le code ci-dessus et de lancer l’application java avant l’application Flex.

Commentaires

Commentaire de fredericvandenplas le 13/04/2009 17:47:15

Très bien de copier le code de chez merapi project mais j'aimerais voire quelque chose de neuf, et autre que les auteurs de merapi on mis sur le net.

Commentaire de nabilokov le 10/02/2010 12:46:03

Merci beaucoup Rien à dire !!
Si vous avez quelque chose à proposer à propos de ce sujet  n'hésitez pas à le poster SVP

Commentaire de pactoopac le 22/03/2010 12:13:31

Bonjour,

Je développe un programme en AIR/Flex dans lequel j'ai besoin d'ouvrir des fichiers avec leur programme par défaut et d'exécuter des batchs/shells.

Apparemment impossible avec la version actuelle de AIR, il faut soit attendre AIR 2.0, soit passer par un programme tiers.

La solution Java/Merapi me plait bien.

Dans votre tutoriel, vous dites qu'il faut lancer le programme java puis le programme air. Ce n'est pas très "user friendly". L'idéal serait de lancer le programme java depuis AIR quand on en a besoin, mais on retombe sur le même problème...


Y a-t-il un moyen de rendre tout ça plus facile pour l'utilisateur? Qu'il n'ai qu'un programme à ouvrir?

Merci d'avance pour vos réponses

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales