Java 如何将数据从非主活动传递到线程

Java 如何将数据从非主活动传递到线程,java,android,bluetooth,Java,Android,Bluetooth,我创建了对象蓝牙服务,线程就是在这里创建的,它监视队列中的数据。从主活动创建了一个活动,我可以在其中设置数据。如何将此活动中的数据传递到线程以发送消息,而不使用Unt-passing object bluetooth service?您是否想过使用一个静态类来保存您需要发送的消息,然后可能使用(如果需要)通知线程它有一条新消息要发送。这将简化代码。你所需要做的就是。在您的情况下,您需要: 添加渐变依赖项 编译'de.greenrobot:eventbus:2.4.0' 创建事件类: public

我创建了对象蓝牙服务,线程就是在这里创建的,它监视队列中的数据。从主活动创建了一个活动,我可以在其中设置数据。如何将此活动中的数据传递到线程以发送消息,而不使用Unt-passing object bluetooth service?

您是否想过使用一个静态类来保存您需要发送的消息,然后可能使用(如果需要)通知线程它有一条新消息要发送。这将简化代码。你所需要做的就是。在您的情况下,您需要:

  • 添加渐变依赖项

    编译'de.greenrobot:eventbus:2.4.0'

  • 创建事件类:

    public class MessageEvent {
       public final String message; 
       public YourObject object;//use what you need here to pass data.
    
       public MessageEvent(String message) {
          this.message = message;
          ...
       }
    }
    
  • 创建订阅服务器:

    @Override
    public void onStart() {
       super.onStart();
       EventBus.getDefault().register(this);
    }
    
    @Override
    public void onStop() {
       EventBus.getDefault().unregister(this);
       super.onStop();
    }
    
    // This method will be called when a MessageEvent is posted
    public void onEvent(MessageEvent event){
       Toast.makeText(context, event.message,     Toast.LENGTH_SHORT).show();
    }
    
    // This method will be called when a SomeOtherEvent is posted
    public void onEvent(SomeOtherEvent event){
        doSomethingWith(event);
    } 
    
  • 最后发布您的数据:

    EventBus.getDefault().post(new MessageEvent("Hello everyone!"));
    

  • 如果这有帮助,请告诉我。

    向我们展示您的通讯代码,并向我们展示您正在努力的方向。我们将尽力帮助您,但我们不会为您编写完整的网站。我可以通过intent将这个静态类从主活动传递到第二个活动?不,因为该类是静态的(考虑使用Singleton),所以您只需要每次获取实例(静态含义:),然后请求值,如
    Singleton.getInstance().getValue()
    如果回答适合您的问题/或者不让我知道