【发布时间】:2015-01-13 00:08:34
【问题描述】:
我正在使用广播接收器将数据发送到活动和片段。 该数据主要用于信息/显示目的或激活片段/活动中的某些代码。
使用事件总线将数据直接获取到片段与仅从主机活动中点击片段中的方法以发送数据/激活代码有哪些优点/缺点?
这是非事件总线方式....
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);
}
intent 是从一个服务进来的,它只是一个 json 消息,来自外部。
我应该通过事件总线将消息从服务发送到其预期目的地(片段)还是不理会?
【问题讨论】:
-
一些示例代码在这里会很有用
-
“使用事件总线,发布者可以免除这些职责,这种独立性会有所帮助,因为发布者和订阅者不需要在其中编写逻辑来建立两者之间的依赖关系。” - nerds.weddingpartyapp.com/tech/2014/12/24/…
标签: java android android-fragments broadcastreceiver event-bus