如何注入完整的类或类的静态方法?
假设我想PhoneNumberUtils.compare(number1, number2)
在我的 Android 应用程序中使用静态方法。
我将如何在 Koin 中使用/注入这种方法?我是否只需将参数传递给工厂定义,然后注入该compare
方法的结果?或者我应该完全避免这里的依赖注入?
如何注入完整的类或类的静态方法?
假设我想PhoneNumberUtils.compare(number1, number2)
在我的 Android 应用程序中使用静态方法。
我将如何在 Koin 中使用/注入这种方法?我是否只需将参数传递给工厂定义,然后注入该compare
方法的结果?或者我应该完全避免这里的依赖注入?
通常我们不会将 DI 用于静态函数。
您应该在创建新类实例的地方进行 DI。所以,作为一个例子,你需要SharedPreferences
在你的Activity
or中访问Fragment
,然后你通过调用来创建一个新的实例getSharedPreferences()
。因此,这可以移至 DI 并注入到您的Activity
或Fragment
.
另一个例子是你的某些类中需要你的 Retrofit Service 实例,而不是每次需要时都创建它们,你可以将它移动到 DI,然后每次需要时注入相同的实例。
这意味着您在需要创建类的新实例时使用 DI。