Как внедрить класс или статический метод? - PullRequest
0 голосов
/ 17 июня 2019

Как добавить полный класс или статический метод класса?

Допустим, я хотел бы использовать метод static PhoneNumberUtils.compare(number1, number2) в своем приложении для Android.

Как быЯ использую / вводить этот метод с Коин?Могу ли я просто передать параметры в определение фабрики, а затем ввести результат метода compare?Или мне вообще следует избегать здесь инъекций зависимости?

1 Ответ

0 голосов
/ 18 июля 2019

Обычно мы не используем DI для статических функций.

Вам следует использовать DI там, где у вас есть новые экземпляры классов.Так, например, вам нужно получить доступ к SharedPreferences в вашем Activity или Fragment, а затем создать новый экземпляр, вызвав getSharedPreferences().Таким образом, это может быть перемещено в DI и может быть внедрено в ваш Activity или Fragment.

Другой пример - вам нужен экземпляр Retrofit Service в некоторых ваших классах, вместо того, чтобы создавать их каждый раз.время, когда вам это нужно, вы можете переместить его в DI, а затем вставлять один и тот же экземпляр каждый раз, когда вам это нужно.

Все это означает, что вы используете DI, когда необходимо создать новый экземпляр класса.

...