我不知道如何在Xamarin Android項目解決方案上使用依賴注入。目前我的Android解決方案可以引用另一個類庫解決方案。我在服務層使用了Unity,並通過WebApiConfig.cs註冊了容器。 我的問題是,如何在Android上使用Unity以便在啓動時運行,如果包含代碼,將不勝感激。我不想通過Android的主要活動來新建容器。我希望容器在進程後註冊,例如AppStart或Global asax,它爲您提供MVC應用程序。有沒有辦法爲Android做到這一點?另外我注意到主要活動我無法創建構造函數。我猜這不是可能的,但我怎麼去保持對我的類庫解決方案的對象引用?我試圖做的例子:依賴注入Android
private IExample _ex;
MainActivity(IExample ex){
_ex = ex; //depedency Injection rather than newing it up
}
public void DoSomething(){
_ex.HelloWorld();
}
有沒有辦法通過屬性來做到這一點?同樣對於我的每一層,我是否需要安裝和創建容器才能解決當前的解決方案依賴性?或者我可以使用Android中的容器來解析每層中的所有依賴關係,因爲DDD體系結構從外部到內部?
嗨,感謝您的提示消息。一旦我用自己的實現創建了自定義應用程序,自定義應用程序是否在運行時運行,而無需從其他類或主活動初始化? –
您唯一需要做的就是告訴Android,您希望將您的類用作您的自定義應用程序實現。您可以在AndroidManifest.xml文件中手動指定,或者使用[Application ...]屬性讓編譯器爲您完成。一旦你這樣做,操作系統將在啓動時自動調用OnCreate方法,而不必顯式調用它;然後您可以進行「應用程序範圍」初始化,如DI設置/註冊。 – EJoshuaS