Note that there are some explanatory texts on larger screens.

plurals
  1. POHow I get the Context with guice in provider?
    primarykey
    data
    text
    <p>How I get the Context? Am I doing something wrong here? </p> <p>This is my Error in Android:</p> <p>FATAL EXCEPTION: main com.google.inject.CreationException: Guice creation errors: 1) Error injecting constructor, java.lang.NullPointerException </p> <pre><code>public class DatabaseProvider implements Provider { @Inject protected static Provider&lt;Context&gt; contextProvider; //eror context is null protected Context context = contextProvider.get(); @Override public DatabaseHelper get() { return (DatabaseHelper) OpenHelperManager .getHelper(context, DatabaseHelper.class); } } </code></pre> <p>Implement DaoProvider:</p> <pre><code>public class DaoProvider&lt;D extends Dao&lt;E, ?&gt;, E&gt; implements Provider&lt;D&gt; { @Inject private DatabaseProvider databaseProvider; private final Class&lt;E&gt; cls; public DaoProvider(Class&lt;E&gt; 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; } </code></pre> <p>}</p> <p>Implement in module:</p> <pre><code>public class BabyModule extends AbstractModule { @Override protected void configure() { TypeLiteral&lt;Dao&lt;Baby, Integer&gt;&gt; typeLiteral = new TypeLiteral&lt;Dao&lt;Baby, Integer&gt;&gt;(){}; DaoProvider&lt;Dao&lt;Baby,Integer&gt;, Baby&gt; provider = new DaoProvider&lt;Dao&lt;Baby,Integer&gt;, Baby&gt;(Baby.class); bind(typeLiteral).toProvider(provider); } </code></pre> <p>}</p> <p>Thanks for help</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload