This repository has been archived by the owner on Feb 26, 2023. It is now read-only.
Enhancing the Application class
Csaba Kozák edited this page Mar 16, 2016
·
11 revisions
Since AndroidAnnotations 2.4
You can enhance your Android Application
class with the @EApplication
annotation:
@EApplication
public class MyApplication extends Application {
}
You can then start using most AA annotations, except the ones related to views and extras:
@EApplication
public class MyApplication extends Application {
public void onCreate() {
super.onCreate();
initSomeStuff();
}
@SystemService
NotificationManager notificationManager;
@Bean
MyEnhancedDatastore datastore;
@RestService
MyService myService;
@OrmLiteDao(helper = DatabaseHelper.class, model = User.class)
UserDao userDao;
@Background
void initSomeStuff() {
// init some stuff in background
}
}
Since AndroidAnnotations 2.1
You can inject the application class using the @App
annotation:
@EActivity
public class MyActivity extends Activity {
@App
MyApplication application;
}
It also works for any kind of annotated component, such as @EBean
:
@EBean
public class MyBean {
@App
MyApplication application;
}
Since AndroidAnnotations 3.0, the application class must be annotated with
@EApplication
.
Since AndroidAnnotations 4.0.0
@EBean
public class MyBean {
@App
void setApplication(MyApplication application){
// do something with application
}
}
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