0
我使用數據在我的Android項目結合注入的內容來看,也是我使用匕首2爲DI。是確定使用dagger2
主要用於設置與數據綁定開發內容視圖應該做這樣的事情:
YouLayoutClass = DataBindingUtil.setContentView(Activity, Layout);
我提供「YoutLayoutClass」,在匕首模塊和我的活動注入它,但問題是,這是一個很好的做法嗎?
我使用數據在我的Android項目結合注入的內容來看,也是我使用匕首2爲DI。是確定使用dagger2
主要用於設置與數據綁定開發內容視圖應該做這樣的事情:
YouLayoutClass = DataBindingUtil.setContentView(Activity, Layout);
我提供「YoutLayoutClass」,在匕首模塊和我的活動注入它,但問題是,這是一個很好的做法嗎?
從技術上講,你正在用這個定義一個圓引用。你只是沒有受到警告,因爲設置圖需要你對此積極主動。
當您明確向模塊提供活動時,依賴關係看起來像activity -> layout -> activity
。此外,您正在使用DataBindingUtil.setContentView()
修改活動,因此爲活動提供依賴關係,實際上這是活動本身的屬性。
所以,絕對不要使用Dagger提供任何UI。尤其對於一項活動而言。
在代碼中使用匕首有兩個主要原因:解耦和可測試性。我認爲沒有理由這樣做,因爲無論如何,內容視圖與活動緊密結合在一起,並且您不需要在測試中嘲笑它 – Buckstabue