1. 程式人生 > >Dagger2使用心得以及填坑筆記

Dagger2使用心得以及填坑筆記

最近追了一次最新的技術,那就是Dagger2,關於Dagger2的介紹當然首當其衝的就是官方文件了,由於英文能力有限,閱讀起來話費了不少功夫,得到的實質性的幫助也不多,推薦簡書大神牛小偉的部落格以及知乎的一個專欄,對Dagger2的解釋十分到位。

下面就談談我在使用Dagger2中遇到的一些問題吧!
1.剛開始我對Dagger2的理解不清楚,只知道他是用來減少例項化物件的框架
2.在使用的過程中完全是依樣畫葫蘆,沒有自己的理解。造成了很多語法上的編譯錯誤,根本不能編譯通過。

  • 2.1 Component中inject()方法沒有物件引數,這是個大問題,會造成在@inject註解的類無法找到依賴這個物件的例項,就是說他會產生被依賴類的例項物件,但找不到使用這個例項物件的物件。也就是說在Component的inject()方法中加入依賴這個物件的引數
  • 2.2對@inject註解理解不是很深刻

總結一下,初步使用的Dagger2流程介紹:
通過Module(主要應用一些無法在修改第三方庫的類中)或在類的建構函式上新增@Inject註解(注意構造方法有引數的話,引數類也需要有例項化物件的途徑)提供例項化物件的途徑,再而通過Component橋來連線Provider以及Custumers(Component橋需要提供@provider以及上面提到的2.1中),最後通過@Inject提示需要依賴注入的類。