16
ANDROID ANNOTATIONS

Android Annotations

Embed Size (px)

Citation preview

Page 1: Android Annotations

ANDROID ANNOTATIONS

Page 2: 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

Page 3: Android Annotations

Contatos

Twitter: @RodrigoAmora E-mail: [email protected] About.me: about.me/rodrigoamora

Page 4: Android Annotations

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/

Page 5: Android Annotations

@EActivity e @EFragment

Anotações que injetam o layout nas telas:@EActivity(R.layout.activity_layout)

@EFragment(R.layout.fragement_layout)

Page 6: Android Annotations

@EActivity e @EFragment

Exemplos:@EFragment(R.layout.my_layout)

public class MyFragment extends Fragment {

}

@EActivity(R.layout.activity_main)

public class MyActivity extends Activity {

}

Page 7: Android Annotations

@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_();

Page 8: Android Annotations

@EActivity e @EFragment

Isso também vale para o arquivo AndroidManifest:

<activity

android:name=".MyActivity_"

android:label="@string/app_name" />

Page 9: Android Annotations

@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;

Page 10: Android Annotations

@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….

}

Page 11: Android Annotations

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.

Page 12: Android Annotations

Interação com os componentes

Exemplos:@Click(R.id.btSave)

public void save() {

//Implementação….

}

Page 13: Android Annotations

@Background

Anotação utilizada para realizar tarefas em Background.@Click

void save() {

saveInBackground(tfName.getText().toString());

}

@Background

void saveInBackground(String textToTranslate) {

//Implementação...

}

Page 14: Android Annotations

@EService

Anotação usada para classes quer herdam de Service.

@EService

public class MyService extends Service {

}

Page 15: Android Annotations

@SystemService

Injeta o System Service correspondente:@SystemService

NotificationManager notificationManager;

@SystemService

LocationManager locationManager;

@SystemService

ConnectivityManager connectivityManager;

Page 16: Android Annotations

OBRIGADO