Java 调用方法来启动代码或使用事件总线

Java 调用方法来启动代码或使用事件总线,java,android,android-fragments,broadcastreceiver,event-bus,Java,Android,Android Fragments,Broadcastreceiver,Event Bus,我使用广播接收器向活动和片段发送数据。 该数据主要用于信息/显示目的,或者用于激活片段/活动中的某些代码 使用事件总线直接将数据获取到片段中,与仅从主机活动中点击片段中的方法来发送数据/激活代码相比,有哪些优点/缺点 这是非活动巴士路线 public class loqooBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {

我使用广播接收器向活动和片段发送数据。 该数据主要用于信息/显示目的,或者用于激活片段/活动中的某些代码

使用事件总线直接将数据获取到片段中,与仅从主机活动中点击片段中的方法来发送数据/激活代码相比,有哪些优点/缺点

这是非活动巴士路线

 public class loqooBroadcast extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
           if (intent.getAction().equals("tv.SCENE")) {
             try {
                message = (JSONObject) 
                   new JSONTokener(intent.getStringExtra("message")).nextValue();
                sceneId = message.getString("scene_sceneid");
                if (sceneId == lastSceneId){
                    return;
                }
                channel = message.getString("channel");
                args.putString("json", message.toString());
            } catch (JSONException e) {

            }
            lastSceneId = sceneId;
            pushToFeedFromActivity(message);
      }
意图来自一个服务,它只是一条来自外部的json消息


我应该通过事件总线将消息从服务发送到它的预期目的地(片段)还是让它自行处理?

我建议使用事件总线。如果您以后需要在另一个片段/活动中使用该数据,则只需订阅该事件即可。它还处理了很多恼人的事情,比如如果你的片段已经被gc’ed了怎么办。使代码更干净、更易于理解。

我建议使用事件总线。如果您以后需要在另一个片段/活动中使用该数据,则只需订阅该事件即可。它还处理了很多恼人的事情,比如如果你的片段已经被gc’ed了怎么办。使代码更干净、更易于理解。

我建议使用事件总线。如果您以后需要在另一个片段/活动中使用该数据,则只需订阅该事件即可。它还处理了很多恼人的事情,比如如果你的片段已经被gc’ed了怎么办。使代码更干净、更易于理解。

我建议使用事件总线。如果您以后需要在另一个片段/活动中使用该数据,则只需订阅该事件即可。它还处理了很多恼人的事情,比如如果你的片段已经被gc’ed了怎么办。使代码更清晰,更容易理解。

这篇文章基本上回答了我的问题,并为我的未来提供了指导


这些天我几乎所有的问题都归结为一个词……脱钩

这篇文章基本上回答了我的问题,并为我的未来提供了指导


这些天我几乎所有的问题都归结为一个词……脱钩

这篇文章基本上回答了我的问题,并为我的未来提供了指导


这些天我几乎所有的问题都归结为一个词……脱钩

这篇文章基本上回答了我的问题,并为我的未来提供了指导

这些天我几乎所有的问题都归结为一个词……脱钩

我目前正在一个不太小的应用程序中使用,我必须说它很酷。项目有不同的构建类型和风格,一些用例可以非常优雅地解决,例如,在调试和生产构建中以不同的方式处理事件(通过拥有不同的订户)

这对于使用事件/事件总线来说是一个巨大的优势

在不利的方面,一切都是非常解耦的。虽然这听起来像是eventbus的一个论点,但事实并非总是如此。很容易让程序流看起来是随机的,调试可能会成为真正的麻烦。重构是另一个问题——这可能不像没有事件发生时那样直截了当

我的建议是:使用它,但不要过度使用它。如果两个合作者之间有一种直接的交流方式,那么他们更喜欢这种方式。但不要将真正属于一起的东西解耦。

我目前正在一个不太小的应用程序中使用,我必须说它很酷。项目有不同的构建类型和风格,一些用例可以非常优雅地解决,例如,在调试和生产构建中以不同的方式处理事件(通过拥有不同的订户)

这对于使用事件/事件总线来说是一个巨大的优势

在不利的方面,一切都是非常解耦的。虽然这听起来像是eventbus的一个论点,但事实并非总是如此。很容易让程序流看起来是随机的,调试可能会成为真正的麻烦。重构是另一个问题——这可能不像没有事件发生时那样直截了当

我的建议是:使用它,但不要过度使用它。如果两个合作者之间有一种直接的交流方式,那么他们更喜欢这种方式。但不要将真正属于一起的东西解耦。

我目前正在一个不太小的应用程序中使用,我必须说它很酷。项目有不同的构建类型和风格,一些用例可以非常优雅地解决,例如,在调试和生产构建中以不同的方式处理事件(通过拥有不同的订户)

这对于使用事件/事件总线来说是一个巨大的优势

在不利的方面,一切都是非常解耦的。虽然这听起来像是eventbus的一个论点,但事实并非总是如此。很容易让程序流看起来是随机的,调试可能会成为真正的麻烦。重构是另一个问题——这可能不像没有事件发生时那样直截了当

我的建议是:使用它,但不要过度使用它。如果两个合作者之间有一种直接的交流方式,那么他们更喜欢这种方式。但不要将真正属于一起的东西解耦。

我目前正在一个不太小的应用程序中使用,我必须说它很酷。项目有不同的构建类型和风格,一些用例可以非常优雅地解决,例如,在调试和生产构建中以不同的方式处理事件(通过拥有不同的订户)

这对于使用事件/事件总线来说是一个巨大的优势

在不利的方面,一切都是非常解耦的。虽然这听起来像是eventbus的一个论点,但事实并非总是如此。很容易让程序流看起来像跳转一样