私は現在、Tomcatのようなサーバーを使わずにJavaと通信する必要があるプロジェクトに取り組んでいます。このために私はFlerryを見つけて使いました。JavaとFlexとFlerryとの間のメッセージ
私がAirから最初にインスタンス化したクラスからメッセージを送信しようとする限り、JavaとAirの間の通信は問題ありません。
私がしようとするのは、JavaのMessage Classからのメッセージのサブスクリプトで、そのクラスを使用してJavaからAirに情報とエラーを送信します。
MessageController.java:空気中の
public class MessageController
{
public MessageController()
{
}
public static void sendErrorMessage(String errorMessage)
{
NativeObject.sendMessage(errorMessage, "error");
}
public static void sendInfoMessage(String infoMessage)
{
NativeObject.sendMessage(infoMessage, "info");
}
}
私は、メッセージングクラスにNativeObjectを作成し、メッセージをサブスクライブ:
var messageController:NativeObject = new NativeObject();
messageController.source = "controller.MessageController" ;
messageController.singleton = true;
messageController.debug = false;
messageController.addEventListener(FaultEvent.FAULT, onFileControllerFault, false, 0, true);
messageController.subscribe("info", infoMessageHandler);
messageController.subscribe("error", errorMessageHandler);
あなたはこれが動作しない、推測しているだろうと。
messageController.start();
と私のMessageController.javaに私はこの入れ:
public void start()
{
NativeObject.sendMessage("test message", "info");
}
を 私がこれを行う場合、私は唯一例えば、私が直接に加入クラスからのメッセージをディスパッチすることだと思えます
infoMessageHandlerはテストメッセージを含むメッセージを受信します。
Javaのどのクラスからでもメッセージをディスパッチして、Air側でキャッチできますか?
あなたはAIRアプリケーションを作成していますか? FlerryはAdobe AIRのNativeProcess機能を使用しているようです。これはFlexベースのWebアプリケーションでは利用できません。 – JeffryHouser
Flextrasが言ったこと。だからあなたはフロントエンドと通信するためにTomcat(しかし、実際にはあなたのサーバを配備するためのもの)のようなWebベースの技術を使用しています。 –
@Flextras私はAIRアプリケーションを作成しています。私はその記事を編集した。 – Raeghin