O documento apresenta o framework AndroidAnnotations, que facilita o desenvolvimento Android através do uso de anotações. É explicado como as anotações @EActivity, @EFragment e @ViewById injetam layouts e componentes de tela. Também são descritas anotações como @Click e @ItemClick para interação com componentes, e @Background para executar tarefas em segundo plano.
2. Que sou eu?
Rodrigo Amora
Desenvolvedor Web
desde 2009
Desenvolvedor
Mobile desde 2011
Meu Apps Android:
http://goo.gl/Y7D9X
Meus Apps iOS:
http://goo.gl/sVpNU7
4. Sobre o Android Annotations
O AndroidAnnotations é um framework open-
source feito para facilitar e agilizar o
desenvolvimento Android através do uso de
anotações.
http://androidannotations.org/
5. @EActivity e @EFragment
Anotações que injetam o layout nas telas:
@EActivity(R.layout.activity_layout)
@EFragment(R.layout.fragement_layout)
7. @EActivity e @EFragment
Ao instanciar uma Acitivity ou Fragment anotada
ela deve ser chamada com “_” a direita.
Isso por que o AndroidAnnotations gera uma
subclasse da mesma.
MyActivity activity = new MyActivity_();
MyFragment fragment = new MyFragment_();
8. @EActivity e @EFragment
Isso também vale para o arquivo
AndroidManifest:
<activity
android:name=".MyActivity_"
android:label="@string/app_name" />
9. @ViewById
Injeta os componentes, faz o mesmo papel do
método findById(R.id.id_do_componente).
Exemplo:
@ViewById(R.id.btSave)
Button btSave;
@ViewById(R.id.tfName)
EditText tfName;
10. @AfterViews
Diz ao AndroidAnnotations qual método a ser
executado após a criação da Activity ou Fragment.
@AfterViews
public void facaAlgumaCoisa() {
//Implementação….
}
11. Interação com os componentesAnotações utilizadas para capturar os eventos
com os componentes:
@Click(R.id.id_do_componente) → Usado para
capturar evento de clique.
@DoubleClick(R.id.id_do_componente) →
Usado para capturar evento de duplo clique.
@ItemClick(R.id.id_do_componente) → Usado
em ListView e GridView para capturar o item
selecionado.
12. Interação com os componentes
Exemplos:
@Click(R.id.btSave)
public void save() {
//Implementação….
}