flex air + java
4957 ワード
どのように構成するかを簡単に説明します:テクノロジーmerapiを使用します
java:
mainは、サービスクラスを起動するために使用できます.
Message:メッセージクラス!まずメッセージタイプを宣言する必要があります public static final String HELLO="hello";この文はメッセージの文字を宣言して任意にすることができて、その他は簡単なjavabeanです
handle:
ActionScript:javaクラスを主にマッピング!この役割も!必ず同じように
MXML:
jar swc自分で降りろ! swcパッケージしました!解凍すればいい
設立されたのはすべて標準的なjava Flex AIRプロジェクトです
airは環境を実行して自分でadobeの下にいる必要があります!
java:
mainは、サービスクラスを起動するために使用できます.
package merapi.examples.helloworld;
import merapi.Bridge;
import merapi.examples.helloworld.handlers.HelloWorldHandler;
public class HelloWorldRunner
{
//--------------------------------------------------------------------------
//
// Static methods
//
//--------------------------------------------------------------------------
/**
* The main method that starts the Bridge and instantiates the HelloWorldHandler instance.
*/
public static void main( String[] args )
{
Bridge.open();
new HelloWorldHandler();
}
}
Message:メッセージクラス!まずメッセージタイプを宣言する必要があります public static final String HELLO="hello";この文はメッセージの文字を宣言して任意にすることができて、その他は簡単なjavabeanです
package merapi.examples.helloworld.messages;
import merapi.messages.Message;
public class HelloWorldMessage extends Message
{
public static final String HELLO = "hello";
public HelloWorldMessage()
{
super();
}
private String helloText ;
public String getHelloText() {
return helloText;
}
public void setHelloText(String helloText) {
this.helloText = helloText;
}
}
handle:
package merapi.examples.helloworld.handlers;
import merapi.examples.helloworld.messages.HelloWorldMessage;
import merapi.handlers.MessageHandler;
import merapi.messages.IMessage;
public class HelloWorldHandler extends MessageHandler
{
// 。
// , super() ,
// questionMessage 。
// ,
// handler 。
// , AIR 。
// handler bridge 。
public HelloWorldHandler()
{
super( HelloWorldMessage.HELLO );
}
public void handleMessage( IMessage message )
{
if ( message instanceof HelloWorldMessage )
{
HelloWorldMessage hwMessage = ( HelloWorldMessage ) message;
System.out.println( hwMessage.getHelloText() );
hwMessage.setHelloText( hwMessage.getHelloText() + " - response - " +
Long.toString( System.currentTimeMillis() ) );
// , send() 。 send() bridge, bridge AIR 。
hwMessage.send();
}
}
}
ActionScript:javaクラスを主にマッピング!この役割も!必ず同じように
package merapi.examples.helloworld.messages
{
import merapi.messages.Message;
//
[RemoteClass( alias="merapi.examples.helloworld.messages.HelloWorldMessage" )]
public class HelloWorldMessage extends Message
{
public static const HELLO : String = "hello";
public function HelloWorldMessage()
{
super( HELLO );
}
public var helloText : String = null;
}
}
MXML:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:merapiproject="http://merapiproject.net/2009"
xmlns:messages="merapi.examples.helloworld.messages.*"
layout="vertical">
<!-- ==== helloWorldMessage : The message sent accross the bridge new ======================== -->
<messages:HelloWorldMessage id="helloWorldMessage" helloText="Hello World!!!" />
<!-- ==== helloWorldHandler : The message handler for the HelloWorld.HELLO message type == -->
<merapiproject:MessageHandler id="helloWorldHandler" type="{ HelloWorldMessage.HELLO }" java result="handleResult(event)"
/>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
private function handleResult(e:ResultEvent):void{
helloWorldMessage=e.result as HelloWorldMessage;
aa.text=helloWorldMessage.helloText;
}
]]>
</mx:Script>
<mx:Button label="Say Hello" click="helloWorldMessage.send()" />
<mx:Label text="" id="aa" />
</mx:WindowedApplication>
jar swc自分で降りろ! swcパッケージしました!解凍すればいい
設立されたのはすべて標準的なjava Flex AIRプロジェクトです
airは環境を実行して自分でadobeの下にいる必要があります!