Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> AndroidAnnnotations注入框架使用之第三方框架集成Otto事件總線(十四)

AndroidAnnnotations注入框架使用之第三方框架集成Otto事件總線(十四)

編輯:關於android開發

AndroidAnnnotations注入框架使用之第三方框架集成Otto事件總線(十四)


 

 

本文出自:【江清清的博客】

(一).前言:

前面我們已經對於AndroidAnnotations框架集成RoboGuice做了講解,今天我們開始具體學習一下第三方框架集成Otto事件總線。Otto事件總線和我們經常使用Eventbus差不多。Otto 官網: http://square.github.io/otto/,Otto框架的主要功能是幫助我們來降低多個類之間的耦合度的(解耦)。

 

(二).集成Otto和AndroidAnnotations

  • 集成AndroidAnnotations框架到項目中(具體方法見:【FastDev4Android框架開發】AndroidAnnnotations注入框架介紹和Android Studios基本配置(七)
  • 集成otto框架到項目中(具體請查看http://square.github.io/otto/)這邊講一下AndroidStudio配置吧:

    dependencies {

    compile 'com.squareup:otto:1.3.8'

    }

    • 使用@EBean來為事件總線創建一個單例類
    • 創建通過事件總線傳輸分發的事件類
    • 使用bus.post()來進行發送事件到事件總線中
    • 使用@Subscribe進行注解來獲取發布的事件

      下面的實例表示Fragment進行通知Activity標題發生更新:

       

      // Declare the busas an enhanced bean
      @EBean(scope =Scope.Singleton)
      public class OttoBusextends BasicBus {
       
      }
      public classUpdateTitleEvent {
       
              public final String title;
       
              public UpdateTitleEvent(String title) {
                      this.title = title;
              }
       
      }

      @EActivity(R.layout.hello_activity)
      public classHelloAndroidActivity extends FragmentActivity {
       
              @Bean
              OttoBus bus;
       
              @Override
              protected void onCreate(BundlesavedInstanceState) {
                     super.onCreate(savedInstanceState);
                      bus.register(this);
              }
       
              @Override
              protected void onDestroy() {
                      super.onDestroy();
                      bus.unregister(this);
              }
       
          @Subscribe
          public void onUpdateTitle(UpdateTitleEventevent) {
              setTitle(event.title);
          }
       
      }

      @EFragment(R.layout.hello_fragment)
      public classHelloFragment extends Fragment {
       
          int counter = 1;
       
          @Bean
          OttoBus bus;
       
          @Click
          void fragmentButtonClicked() {
              bus.post(newUpdateTitleEvent(Clicks:  + counter++));
          }
      }
      到此位置關於AndroidAnnotations第三方框架集成之Otto集成已經全部講解完成了。

       

       

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved