Mario Dennis
Mario Dennis

Reputation: 3016

Can the Spring Framework be used in android applications?

I am writing a android application which requires dependency injection in the data access API the application will need (I am implementing this API). I don't want to write the dependency injection manually. Therefore, I was thinking of using Spring. I realize that there are two versions of spring. A regular version and a android version. Can the regular version be used in the android application cause I just want the dependency injection functionality and already have the files.

Upvotes: 14

Views: 18706

Answers (4)

Dr. Daniel Thommes
Dr. Daniel Thommes

Reputation: 697

If you need DI and Spring, please give RoboSpring a try. I have ported the Spring Framework to Android and tweaked the performance significantly! From the description:

RoboSpring is a (real) port of the Spring Framework to the Android platform. Additionally it offers preliminary support for functionality introduced by RoboGuice like injecting View references into Activities and more. RoboSpring is based on version 3.1.0 RELEASE of Spring's core, beans, context and aop components. It offers the following functionality:

  • Configure application components with a Spring configuration file (XML)
  • Autowire your Android components with beans from the Spring application context.
  • Inject the Android application context into your Spring Beans.
  • Inject views into Activities.
  • … and more

Please see here: https://github.com/dthommes/RoboSpring

RoboSpring - Inversion of Control for Android

Upvotes: 9

y ramesh rao
y ramesh rao

Reputation: 3004

Spring has libraries for android but its for efficiently doing REST communication with some OAuth the detailed information is available here spring-android and the developers of spring advocate using RoboGuice for DI you can read about it from here, for hardcore dependency injection its RoboGuice which is by far the best out there.

Upvotes: 1

Drogba
Drogba

Reputation: 4346

If you need the dependency injection only. You may choose some lightweight framework like google guice.

Upvotes: 2

Nikolay Elenkov
Nikolay Elenkov

Reputation: 52936

Don't. Spring is a heavy weight server-side framework that is not optimized for Android. The have some Android libraries, but those are for specific things like REST. If you need DI, use an Android framework such as RoboGuice.

Upvotes: 18

Related Questions