Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MobileConf 2015: Android Annotations

994 views

Published on

Minha short-talk sobre Android Annotations no MobileConf 2015.

Published in: Mobile
  • Be the first to comment

MobileConf 2015: Android Annotations

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

×