android annotations
Post on 09-Aug-2015
401 Views
Preview:
TRANSCRIPT
ANDROID ANNOTATIONS
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
Contatos
Twitter: @RodrigoAmora E-mail: rodrigo.amora.freitas@gmail.com About.me: about.me/rodrigoamora
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/
@EActivity e @EFragment
Anotações que injetam o layout nas telas:@EActivity(R.layout.activity_layout)
@EFragment(R.layout.fragement_layout)
@EActivity e @EFragment
Exemplos:@EFragment(R.layout.my_layout)
public class MyFragment extends Fragment {
}
@EActivity(R.layout.activity_main)
public class MyActivity extends Activity {
}
@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_();
@EActivity e @EFragment
Isso também vale para o arquivo AndroidManifest:
<activity
android:name=".MyActivity_"
android:label="@string/app_name" />
@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;
@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….
}
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.
Interação com os componentes
Exemplos:@Click(R.id.btSave)
public void save() {
//Implementação….
}
@Background
Anotação utilizada para realizar tarefas em Background.@Click
void save() {
saveInBackground(tfName.getText().toString());
}
@Background
void saveInBackground(String textToTranslate) {
//Implementação...
}
@EService
Anotação usada para classes quer herdam de Service.
@EService
public class MyService extends Service {
}
@SystemService
Injeta o System Service correspondente:@SystemService
NotificationManager notificationManager;
@SystemService
LocationManager locationManager;
@SystemService
ConnectivityManager connectivityManager;
OBRIGADO
top related