Андроиды @Inject и @InjectView, означающие

114
16

Что означает смысл и цель из @Inject и/или @InjectView аннотаций в программировании на Android/Java?


Как я могу его использовать?


Спасибо заранее!

спросил(а) 2021-01-07T20:16:56+03:00 1 месяц, 4 недели назад
1
Решение
135

Для Android эти аннотации являются частью Framework Roboguice. Они используются для обеспечения инъекции зависимостей в среде Android.


Это позволяет вам напрямую вводить экземпляр нужного ресурса, будь то базовое POJO, представление или другой ресурс. Здесь пример POJO из RoboGuice wiki:

class MyActivity extends RoboActivity {
@Inject Foo foo; // this will basically call new Foo();
}

Это тривиально, но, по существу, точка впрыска позволяет вашему классу оставаться независимым от создания/управления экземпляром введенного класса Foo и вместо этого ставит эту ответственность на сам Foo, вызывая в этом случае конструктор по умолчанию Foo. Это позволяет упростить тестирование через что-то вроде mocks, поскольку MyActivity не содержит деталей фактического создания самого Foo.

ответил(а) 2021-01-07T20:16:56+03:00 1 месяц, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема