我们如何将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中可能吗?
答案 0 :(得分:3)
Adobe 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代码必须是一个单独的应用程序。两者之间可能需要克服一些安全问题。
这是一个潜在的选择,但可能无效。最好的方法是编写测试应用程序,看看是否可以使它运行。然后根据需要提出其他问题。