flex air + java


どのように構成するかを簡単に説明します:テクノロジーmerapiを使用します
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の下にいる必要があります!