1

我见过的大多数示例都在应用程序的 oncreate 方法中注册了改造服务。

像这样的东西。

class ReaderApplication extends Application {

  private StoryService mStoryService;
  private Bus mBus = BusProvider.getInstance();

  @Override
  public void onCreate() {
  super.onCreate();

  mStoryService = new StoryService(buildApi(), mBus);
  bus.register(mStoryService);

  bus.register(this); //listen for "global" events
  }

 private StoryApi buildApi() {
  return new RestAdapter.Builder()
              .setServer(API_URL)
              .build()
              .create(StoryApi.class);
  }

  @Subscribe
  public void onApiError(ApiErrorEvent event) {
   toast("Something went wrong, please try again.");
   Log.e("ReaderApp", event.getErrorMessage());
  }
}

如果我在应用程序中有多个服务会发生什么,我认为在应用程序中注册所有服务不是一个好主意。我可以在 Activity 或 Fragment 中注册改造服务吗?注册服务的最佳地点是什么?

4

1 回答 1

0

您可以随时注册。最好可以onResume()使用 bothActivity和的方法注册Fragment。Otto 不与活动/片段生命周期耦合。事件在类对象上分派。

于 2015-07-07T07:41:44.177 回答