Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge AndroidAnnotations article
  • Loading branch information
johanpoirier committed Jun 6, 2012
commit 4d6159b45da52d8de294b01196cd58dca15da8ac
19 changes: 8 additions & 11 deletions _posts/2012-06-06-androidannotations.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,7 @@ On peut quasiment tout injecter dans nos classes annotées, des vues, des ressou
{% highlight java %}
// ...
@EActivity(R.layout.my_bookings)
public class MyBookings extends SearchableActivity {

@Pref
BookingPrefs_ prefs;
public class MyBookings extends Activity {

@Bean
UserService userService;
Expand Down Expand Up @@ -160,16 +157,16 @@ L'accès au contexte est essentiel dans une application Android, et l'annotation
Permet de récupérer les valeurs passées dans un Intent. Encore une fois, ça simplifie la vie :

{% highlight java %}
// ...
@Extra(C.EXTRA_HOTEL_KEY)
// get value from extra bundle
@Extra("hotel_key")
Hotel hotel;
{% endhighlight %}

#### @AfterViews, @AfterInject

- \@AfterViews annote une méthode pour indiquer qu'elle doit être appelée après que les vues aient été récupéré (via les @ViewId). Très pratique quand on doit manipuler ces vues avant l'affichage. La méthode annotée est souvent utilisée à la place de onResume().

- @AfterInject annote également une méthode mais est appelée après l'injection dans la classe annotée par un @EBean
- \@AfterInject annote également une méthode mais est appelée après l'injection dans la classe annotée par un @EBean

### La gestion des évènements

Expand All @@ -178,7 +175,7 @@ Hotel hotel;
Ces annotations nous débarasse des listener d'events. Plus besoin d'implémenter d'interfaces, il suffit d'annoter une méthode @Click :

{% highlight java %}
// ...
// replace onClick method
@Click(R.id.buttonHotels)
public void buttonHotelsClick() {
startActivity(new Intent(this, HotelsList_.class));
Expand All @@ -192,7 +189,7 @@ Simple, non ?
Idem pour la gestion des options de la touche menu. Le @OptionsMenu déclare le layout du menu pour l'activité et les @OptionItem gère l'évènement de l'option sélectionnée :

{% highlight java %}
// ...
// options declaration with layout
@EActivity(R.layout.my_bookings)
@OptionsMenu(R.menu.bookings)
public class MyBookings extends Activity {
Expand Down Expand Up @@ -221,7 +218,7 @@ Cette annotation s'applique à une méthode qui, une fois appelée, s'exécute c
#### @UiThread

{% highlight java %}
// ...
// background and async task
@Background
public void benchmark() {
// benchmark some stuff
Expand Down Expand Up @@ -320,7 +317,7 @@ Je préfère personellement n'utiliser que AA même si cela implique une injecti

Rien de prévu nativement pour l'intégration à ORMLite mais voici ce qui peut être réalisé :

- créer une classe générique Service :
- créer une classe générique Service<T> :

{% highlight java %}
// ...
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.