Enhancing the Application class - PerfectCarl/androidannotations GitHub Wiki
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
}
}
Injecting your application class
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
.