3

Я читаю об Injections Dependency и нашел 2 библиотеки, которые привлекают мое внимание, AndroidAnnotations и Dagger 2. Я видел, что у AA есть много функциональных возможностей, включая DI, но большинство разработчиков используют кинжал 2 для DI.AndroidAnnotations и Dagger 2

Мне было интересно, в чем разница между DI с AA и DI с кинжалом 2? Если я использую АА, значит, мне не нужен кинжал 2?

Я не мог найти много информации для DI с AA и сравнения с другими библиотеками.

Любая информация поможет.

ответ

2

Я не думаю, что АА и Кинжал можно сравнить.

Кинжал - это общая библиотека для инъекций, с множеством возможностей. Он также предназначен для работы на Android, но для Android он не нужен, его можно применять на чистых Java-проектах. Он имеет множество функций впрыска зависимостей для полностью инжектора зависимостей на основе кода.

AndroidAnnotations - это аннотация для Android. Он имеет ограниченный модуль инъекции зависимостей (который является лишь небольшим подмножеством АА), однако это не является его основной функцией. Он добавляет основанные на аннотации основанные на шаблонах API-интерфейсы для многих вещей для Android, которые используются в каждом проекте и обычно требуют огромного количества ненужного кода, например, просмотр изображений и ресурсов, обработка событий, восстановление состояния экземпляра, потоки и т. Д. Вы можете см. все варианты использования AA here.

Кинжал и AA can coexist, на самом деле имеет смысл использовать сложную инъекцию депиляции из кинжала и множество особенностей АА вместе (я делаю во всех своих проектах).

Отказ от ответственности: я разработчик AndroidAnnotations.

0

Недавно я создал одно примерное приложение, выполнив Dagger 2 и Android Architectural Components (Room and Viewmodel), которые помогут вам понять инъекцию зависимости, используя библиотеку кинжалов вместе с архитектурой MVVM.

Here is the github project link