如何注入类或静态方法?

时间:2019-06-16 21:51:45

标签: android dependency-injection koin

如何注入完整的类或类的静态方法?

假设我要在我的Android应用中使用静态PhoneNumberUtils.compare(number1, number2)方法。

我如何在Koin中使用/注入这种方法?我是否只需将参数传递给工厂定义,然后注入compare方法的结果?还是我应该完全避免在这里进行依赖注入?

1 个答案:

答案 0 :(得分:0)

通常我们不将DI用于静态函数。

您应该在已创建类的新实例的地方DI。因此,作为示例,您需要访问SharedPreferencesActivity中的Fragment,然后通过调用getSharedPreferences()创建一个新实例。因此,可以将其移至DI,并可以将其注入您的ActivityFragment中。

另一个示例是您需要在某些类中使用Retrofit Service实例,然后可以将其移至DI,然后在每次需要时注入相同的实例,而不必在每次需要时都创建它们。 / p>

这意味着您需要创建类的新实例时使用DI。