结合Android应用程序的JAVA和AIR代码

时间:2010-12-16 09:53:22

标签: java android flex air

我们如何将JAVA代码和AIR代码组合在Android中的应用程序开发中 这是一个例子, http://rosarioconti.wordpress.com/2010/10/03/extending-your-android-air-application-using-java/ 但它会工作吗???我需要在我的Android应用程序中调用一些空气代码?
编辑
我需要在AIR中调用这个代码从JAVA调用它有可能吗? http://coenraets.org/blog/2010/07/video-chat-for-android-in-30-lines-of-code/ 或者基本上我需要的是这样的服务,这在JAVA中可能吗?

1 个答案:

答案 0 :(得分:3)

Adob​​e AIR没有在客户端上使用Java的本机方式。

但是,您可以尝试http://www.merapiproject.net/index.php

Merapi充当“中间人”,在AIR和Java之间传递对象。

代码如下所示:

从ActionScript发送消息

var message : Message = new Message();

message.data = "Hello from Merapi Flex.";

message.type = "Reply";

Bridge.instance.sendMessage( message );

从Java发送消息

Bridge bridge = Bridge.getInstance();

Message message = new Message();

message.setData("Hello from Merapi Java.");

bridge.sendMessage(message);

在Flex中接收消息:

<merapi:BridgeInstance

id="bridge" result="handleResult(event)" />



<mx:Script>

<![CDATA[

private function handleResult( event : ResultEvent ) : void

{

var message : IMessage = event.result as IMessage;

使用Java接收消息:

Bridge.getInstance().registerMessageHandler("Reply", messageHandlerInstance );

public void handleMessage( IMessage message )

{

System.out.println( message.getData() );

}

注意:

虽然没有经过我的测试 - 可以在Android上添加自定义Java类。只需确保自定义类是公共的,具有公共零参数构造函数,并且构造函数链接到超类构造函数。

拥有Merapi代码(它的开源代码)将使您能够为Android自定义它。

您可以将该类添加到Android Java代码中,并像其他任何Android应用程序一样进行编译。 AIR代码必须是一个单独的应用程序。两者之间可能需要克服一些安全问题。

这是一个潜在的选择,但可能无效。最好的方法是编写测试应用程序,看看是否可以使它运行。然后根据需要提出其他问题。