2017-08-15 37 views
1

此代碼初始化一個新的EventBuilder對象並在該對象上設置值。爲什麼最後需要.build()?「.build()」在Google Analytics for Android的上下文中做了什麼?

tracker.send(new HitBuilders.EventBuilder() 
    .setCategory("Achievement") 
    .setAction("Unlocked") 
    .setLabel("5 Dragons Rescued") 
    .setValue(1) 
    .build()); 
+3

可能重複[何時使用Builder模式?](https://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern) – SoroushA

回答

5

您正在創建一個HitBuilders.EventBuilder的實例。通常—特別是在Android相關開發—當你看到一個類在...Builder結束時,它僱用the builder pattern。而且,當...Builder類是其他類中的static類時,構建器將構建外部類的一個實例。在這種情況下,大概HitBuilders.EventBuilder會創建一個HitBuilders的實例。

build()是構建器類創建請求實例的約定。