Я пишу приложение для Android, которое требует инъекции зависимостей в API доступа к данным, который понадобится приложению (я реализую этот API). Я не хочу писать инъекцию зависимости вручную. Поэтому я думал использовать Spring. Я понимаю, что есть две версии Spring. Обычная версия и версия для Android. Может ли обычная версия использоваться в приложении Android, потому что я просто хочу функциональность инъекции зависимостей и уже имею файлы.
Можно ли использовать Spring Framework в приложениях для Android?
Ответ 1
не делать. Spring - это тяжелая платформа на стороне сервера, которая не оптимизирована для Android. У них есть некоторые библиотеки Android, но они предназначены для конкретных вещей, таких как REST. Если вам нужен DI, используйте фреймворк Android, такой как RoboGuice.
Ответ 2
Если вам нужны DI и Spring, попробуйте RoboSpring. Я портировал Spring Framework на Android и значительно улучшил производительность! Из описания:
RoboSpring является (реальным) портом Spring Framework для платформы Android. Кроме того, он предлагает предварительную поддержку функциональности, введенной RoboGuice, например, инъекции. Просмотр ссылок на действия и многое другое. RoboSpring основан на версии 3.1.0 RELEASE Spring core, beans, контексте и aop компоненты. Он предлагает следующие функции:
- Настройка компонентов приложения с конфигурационным файлом Spring (XML)
- Освоить компоненты Android с помощью beans из контекста приложения Spring.
- Внесите контекст приложения Android в ваш Spring Beans.
- Ввести представления в действия.
- ... и многое другое
Пожалуйста, смотрите здесь: https://github.com/dthommes/RoboSpring
Ответ 3
Если вам нужна только инъекция зависимостей. Вы можете выбрать некоторые облегченные рамки, например google guice.
Ответ 4
Spring имеет библиотеки для android, но для эффективного взаимодействия REST с некоторыми OAuth подробная информация доступна здесь spring-android и разработчики spring защищают использование RoboGuice для DI, вы можете прочитать об этом от здесь, для хардкорной зависимости впрыска его RoboGuice, который, безусловно, лучший из них.