-2

プロジェクトで使用する Otto。すべてが機能しますが、改善したいと思います。今では、さまざまな場所からメッセージを送信しています。

BusProvider.getInstance().post(new QueueMessage(s));
BusProvider.getInstance().post(queue);
BusProvider.getInstance().post(weatherResponse);

しかし、私が説明するすべての方法MainActivity

@Subscribe
    public void showOttoQueue(Queue queue) {
        new NotificationStorege().setTicker("New message").setTitle("queue").setMessage("You are in the queue: "+queue.queue).generateNotification(this);
    }
    @Subscribe
    public void showGcmMessage(GcmMessage message) {
        Toast.makeText(this, "gcm message: " + message.Result, Toast.LENGTH_LONG).show();
    }
    @Subscribe
    public void showOttoRemoveQueue(QueueMessage message) {
        if (message.Result.equals("OK")){
            new NotificationStorege().setTicker("New message").setTitle("queue").setMessage("you are out of queue").generateNotification(this);
            Toast.makeText(this, "you are out of queue", Toast.LENGTH_LONG).show();
        }else{
            Toast.makeText(this, "error out of queue", Toast.LENGTH_LONG).show();
        }
    }

これらすべてのメソッドを格納する完全なクラスを作成することは可能ですか? それとも、起動したアクティビティにのみ存在する必要がありますか?

4

1 に答える 1

0

必要なすべてのクラスで Otto を自由に使用できます。以下のコードのように、そのクラスのインスタンスを登録するだけです。その後、そのオブジェクトにイベントが発生します。

bus.register(classInstance);
于 2015-02-13T08:31:56.557 に答える