0

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

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

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

4

1 回答 1

0

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

您应该在创建新类实例的地方进行 DI。所以,作为一个例子,你需要SharedPreferences在你的Activityor中访问Fragment,然后你通过调用来创建一个新的实例getSharedPreferences()。因此,这可以移至 DI 并注入到您的ActivityFragment.

另一个例子是你的某些类中需要你的 Retrofit Service 实例,而不是每次需要时都创建它们,你可以将它移动到 DI,然后每次需要时注入相同的实例。

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

于 2019-07-18T05:08:14.477 回答