Comment utiliser Merapi.
Personnellement je l'utilise pour faire une application Dock. Donc pour pouvoir lancer mes applications de façon optimale, J'ai eu besoin de 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.
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.
<?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>
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.