2015-01-15 97 views
0

什麼是用於匕首的'include'字。例如從這裏的文檔是這樣定義的模塊:android dagger - 包含關鍵字的用處

@Module(
includes = { 
    DripCoffeeModule.class, 
    ExecutorModule.class 
} 
) 
public class CoffeeAppModule { 
} 

聲明本模塊,其是一個應用程序模塊如何包括在它的另一模塊?爲什麼?什麼是有用的。你可以檢查的例子here

我不明白模塊註釋中的includes關鍵字,它用於什麼?

從的javadoc其具有以下定義仍然離開我困惑,有人可以提供示例來描述:

包括來自其的該模塊由 附加@模塊註解類。

更新:什麼即時思考包含意味着,如果我有其他模塊中的提供程序說module1.java然後如果我'module1.java在module2.java中包含它可以看到它的所有提供者方法和模塊2的範圍現在增加了,這是正確的嗎?

回答

1

它用於將您的圖分成多個模塊。所以你用你的「Root」模塊創建你的ObjectGraph - 模塊可能包含多個模塊(然後可以再次包含模塊)。這樣你可以將你的模塊分成邏輯組。

+0

你能提供一個小匕首代碼示例嗎? – j2emanue 2015-01-15 18:55:10

+0

例如:https://github.com/JakeWharton/u2020/blob/master/src/main/java/com/jakewharton/u2020/U2020Module.java – 2015-01-15 21:54:56

+0

嘿傑克,我只是沒有得到什麼'包括'做你的例子。這是否意味着U2020Module可以看到UiModule.class和DataModule.class的提供者方法? - 它與addsto有什麼不同可能會有所幫助 – j2emanue 2015-01-26 14:56:57

0

我想我現在得到它。 Include就像C頭文件中的'include'一樣,或者當你想包含一個外部viewgroup時,它就包含在android的xml文件中。它只是意味着你在文件中包含模塊方法本身。 IT只是一種分解代碼的方式。所以'addsto'將它添加到你指定模塊的圖形中,但'includes'只是將來自該模塊的代碼複製到文件中。

相關問題