Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序的JAVA和AIR代码组合_Java_Android_Apache Flex_Air - Fatal编程技术网

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

Android应用程序的JAVA和AIR代码组合,java,android,apache-flex,air,Java,Android,Apache Flex,Air,在android中,我们如何将JAVA代码和AIR代码结合起来进行应用程序开发 举个例子,, 但它会工作吗???我需要在我的android应用程序中调用一些air代码?? 编辑 我需要这段代码在空中从JAVA调用,有可能吗? 或者基本上我需要的是这样的服务,这在JAVA中可能吗?AdobeAIR没有在客户端上使用JAVA的本机方法 不过,你可以试试 Merapi充当“中间人”,在AIR和Java之间传递对象 代码如下所示: 从ActionScript发送消息: var message : Me

在android中,我们如何将JAVA代码和AIR代码结合起来进行应用程序开发 举个例子,, 但它会工作吗???我需要在我的android应用程序中调用一些air代码??
编辑
我需要这段代码在空中从JAVA调用,有可能吗?
或者基本上我需要的是这样的服务,这在JAVA中可能吗?

AdobeAIR没有在客户端上使用JAVA的本机方法

不过,你可以试试

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

代码如下所示:

从ActionScript发送消息

var message : Message = new Message();

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

message.type = "Reply";

Bridge.instance.sendMessage( message );
Bridge bridge = Bridge.getInstance();

Message message = new Message();

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

bridge.sendMessage(message);
从Java发送消息

var message : Message = new Message();

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

message.type = "Reply";

Bridge.instance.sendMessage( message );
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;
Bridge.getInstance().registerMessageHandler("Reply", messageHandlerInstance );

public void handleMessage( IMessage message )

{

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

}
注意:

<merapi:BridgeInstance

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



<mx:Script>

<![CDATA[

private function handleResult( event : ResultEvent ) : void

{

var message : IMessage = event.result as IMessage;
Bridge.getInstance().registerMessageHandler("Reply", messageHandlerInstance );

public void handleMessage( IMessage message )

{

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

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

拥有Merapi的代码(它是开源的)将使您能够为Android定制它

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


这是一种可能的选择,但可能行不通。最好的方法是编写一个测试应用程序,看看能否让它正常工作。然后根据需要问其他问题。

所谓代码,是指API吗?有一些黑客可以在空中访问Java代码,但我不知道有谁会尝试相反的方法。我向Adobe提交了一个允许本机对象创建的想法: