How I get the Context? Am I doing something wrong here?
This is my Error in Android:
FATAL EXCEPTION: main com.google.inject.CreationException: Guice creation errors: 1) Error injecting constructor, java.lang.NullPointerException
public class DatabaseProvider implements Provider {
@Inject
protected static Provider<Context> contextProvider;
//eror context is null
protected Context context = contextProvider.get();
@Override
public DatabaseHelper get() {
return (DatabaseHelper) OpenHelperManager
.getHelper(context, DatabaseHelper.class);
}
}
Implement DaoProvider:
public class DaoProvider<D extends Dao<E, ?>, E> implements Provider<D> {
@Inject
private DatabaseProvider databaseProvider;
private final Class<E> cls;
public DaoProvider(Class<E> cls) {
this.cls = cls;
}
@Override
public D get() {
try {
return databaseProvider.get().getDao(cls);
} catch (SQLException e) {
Log.d("injection", "database provider error", e);
}
return null;
}
}
Implement in module:
public class BabyModule extends AbstractModule {
@Override
protected void configure() {
TypeLiteral<Dao<Baby, Integer>> typeLiteral = new TypeLiteral<Dao<Baby, Integer>>(){};
DaoProvider<Dao<Baby,Integer>, Baby> provider = new DaoProvider<Dao<Baby,Integer>, Baby>(Baby.class);
bind(typeLiteral).toProvider(provider);
}
}
Thanks for help