2016-09-09 2 views
0

メッセージを受信するサービスクラスがあります。ここでは、コードがある -サービスのイベントバス

public void processJSONMessage(String data) throws IOException { 
      ObjectMapper objectMapper = new ObjectMapper(); 
      TextMessage textMessage = objectMapper.readValue(data, TextMessage.class); 
      textMessageString = textMessage.getMessage(); 
} 

今私はMAinActivityにこのtextMessageStringを送信し、トーストメッセージを表示する必要があります。私は同じイベントバスを使いたいです。私は既にイベントバスをMAinActivityに登録し、登録解除しました。しかし、私は実際に私の例としてイベントバスを使用する方法を知らない。誰も私を助けることができますか?

答えて

0

EventBusにはどのライブラリを使用していますか?

拡張サービスクラスからイベントをプッシュしたい場合は、EventBusのインスタンスを取得してそこからポストする必要があります。 Greenbotを使用してたとえば、あなたはMessageEventクラスがstringquick start guide参照)にかかるだけのPOJOである

public void processJSONMessage(String data) throws IOException { 
    ObjectMapper objectMapper = new ObjectMapper(); 
    TextMessage textMessage = objectMapper.readValue(data, TextMessage.class); 
    textMessageString = textMessage.getMessage(); 
    EventBus.getDefault().post(new MessageEvent(textMessageString)); 
} 

ような何かを行います。あなたのMainActivity(あなたが onCreateに登録していると仮定します)は、次のような関数を作成することでイベントを聴くことができます:

@Subscribe 
public void onMessageEvent(MessageEvent event){ 
    //Get the message string, i.e.: event.getMessage() 
} 
関連する問題