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