1- ---
1+ ---
22layout : post
33title : RoboGuice 2.0
44author : johanpoirier
@@ -17,6 +17,7 @@ Dans le cadre de mon étude des divers frameworks pour le développement java su
1717L'injection dans RoboGuice (et Google Guice) se fait via la description du graph de dépendances. Cela se fait via la déclaration de modules :
1818
1919{% highlight java %}
20+ // Main module for the app
2021public class BookingModule extends AbstractModule {
2122
2223 private Context context;
@@ -55,6 +56,7 @@ Dans l'exemple précédent, nous pouvons voir deux types de binding différents
5556- Les ** provider bindings** : un provider lie une interface à une instance selon certains paramètres
5657
5758{% highlight java %}
59+ // DAO provider for ORMLite
5860public class DaoProvider<T, D extends Dao<T, ?>> implements Provider<D > {
5961 protected ConnectionSource conn;
6062 protected Class<T > clazz;
@@ -89,6 +91,7 @@ Pour que l'injection ait lieu, il faut que l'injector de RoboGuice soit appelé.
8991#### L'injection dans les "beans" déjà pris en charge par RoboGuice
9092
9193{% highlight java %}
94+ // Main service for the app
9295public class BookingServiceImpl implements BookingService {
9396
9497 @Inject
@@ -117,6 +120,7 @@ RoboGuice est une version de Google Guice pour Android, il a donc quelques spéc
117120Les classes surchargées sont donc prises en compte par RoboGuice et l'injection aura donc lieu, comme dans l'exemple suivant :
118121
119122{% highlight java %}
123+ // Display bookings
120124public class MyBookings extends RoboActivity {
121125
122126 @Inject
@@ -137,6 +141,7 @@ public class MyBookings extends RoboActivity {
137141Dans certains cas, il n'est pas possible d'hériter directement d'une classe de RoboGuice et il va falloir appeler l'injecteur manuellement :
138142
139143{% highlight java %}
144+ // Inject only members, no ui available
140145@Override
141146protected void onCreate(Bundle savedInstanceState) {
142147 RoboGuice.getInjector(this).injectMembersWithoutViews(this);
@@ -167,6 +172,7 @@ La liste complète est disponible [ici](http://code.google.com/p/roboguice/wiki/
167172### La vue de l'activité
168173
169174{% highlight java %}
175+ // Replaces setContent
170176@ContentView (R.layout.my_bookings)
171177public class MyBookings extends RoboActivity {
172178 ...
0 commit comments