次のライブラリを使用しています。
ormlite-android-4.28.jar ormlite-core-4.28.jar roboguice-2.0.jar guice-3.0-no_aop.jar guice-assistedinject-3.0-rc2.jar android-support-v13.jar
インジェクション サービスはすべて正常に動作していますが、次のシナリオで問題が発生しています。次のように DaoProvider を作成しました。
public class DaoProvider<T extends DatabaseEntity, ID> implements Provider<Dao<T, ID>>
私の AbstractModule クラスは次のようになります。
bind(new TypeLiteral<Dao<CityPersist, Integer>>() {
}).toProvider(new DaoProvider<CityPersist, Integer>(ormLiteSqliteOpenHelper.getConnectionSource(), CityPersist.class))
私の CityDao は次のようになります。
@ImplementedBy(CityDaoImpl.class)
public interface CityDao
extends Dao<CityPersist, Long>
{
ConnectionSource getConnectionSource();
CityPersist create(JSONObject json);
CityPersist findByCityId(String cityId);
}
私が抱えている問題は、AbstractModule で ConnectionSource を作成しようとしていることです。roboguice 1 を使用している場合は、次のように設定できます。
public ClientServicesModule(OrmLiteSqliteOpenHelper ormLiteSqliteOpenHelper)
{
super();
this.ormLiteSqliteOpenHelper = ormLiteSqliteOpenHelper;
}
Application クラスに新しい AbstractModule を作成します。ただし、roboguice 2 で同じものを作成できる場所を見たことがあります。
何か案は?
前もって感謝します。