This repository has been archived by the owner on Feb 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
RoboGuiceIntegration
Kay-Uwe Janssen edited this page Oct 9, 2016
·
13 revisions
Since AndroidAnnotations 1.0
AndroidAnnotations fully integrates with RoboGuice 1.1.1.
Since AndroidAnnotations 3.1
Since this release RoboGuice 1 support has been dropped in favor of RoboGuice 2.
Since AndroidAnnotations 3.3
Since this release RoboGuice 3 and newer is only supported.
Since AndroidAnnotations 4.0.0
The RoboGuice integration is now split into an AA plugin. To use this functionality, you must add the roboguice
plugin to your project.
- Add AndroidAnnotations to your project.
- Add RoboGuice to your project.
- Instead of having activities that inherit from
RoboActivity
, simply annotate them with@RoboGuice
. - Looking for a working example ? Have a look RoboGuiceExample!
@EActivity(R.layout.main)
@RoboGuice({AstroListener.class, AnotherListener.class})
public class AstroGirl extends Activity {
@ViewById
EditText edit;
@Inject
GreetingService greetingService;
@Click
void button() {
String name = edit.getText().toString();
greetingService.greet(name);
}
}
public class AstroListener {
@Inject
Context context;
public void doSomethingOnResume(@Observes OnResumeEvent onResume) {
Toast.makeText(context, "Activity has been resumed", Toast.LENGTH_LONG).show();
}
}
RoboGuice brings the power of the Guice framework to your Android application. It means that you can benefit from dependency injection advantages : low coupling, higher maintainability.
- Compile time injection of Android components (=> no perf impact)
- Extending
RoboActivity
is not needed any more. This basically mean that you can inherit from any activity class, even those not supported byRoboGuice
. Think about it if you want to use other frameworks that require you to extends their own base activity class. - Support for
@Click
,@Background
,@UiThread
,@ItemSelect
, etc.
19/11/2020 The 4.8.0 release is out !
- Get started!
- Cookbook, full of recipes
- Customize annotation processing
- List of all available annotations
- Release Notes
- Examples
- Read the FAQ
- Join the Mailing list
- Create an issue
- Tag on Stack Overflow
- Ask on Gitter