假设我们有一个类Counter
public class Counter {
private int count;
public Counter() {
count = 0;
}
public int getCount() {
return count;
}
public void count() {
count++;
}
}
以及提供计数器的ApplicationModule:
@Module
public class ApplicationModule {
private
我坚持使用mvp来完成Dagger 2的Retrofit2实现,我的应用程序在各自的片段中调用两个不同的app。我定义了限定符注释,为每个Api调用绑定一个Retrofit实例,如下所示
@Qualifier
@Retention(RUNTIME)
public @interface FirstApi{}
@Qualifier
@Retention(RUNTIME)
public @interface SecondApi{}
在ApplicationModule中绑定每个改版
public class ApplicationModule {
private String mBaseUrlF
我有Singleton作用域模块,它提供了一些标准的单点:应用程序、DB服务等等。但是对于活动,我有单独的模块,应该为活动创建演示器,我需要将Application上下文传递给它。但是,在试图编译项目时,我会遇到以下错误:
Error:(13, 1) error: xxx.SplashComponent scoped with @xxx.ViewScope may not reference bindings with different scopes:
@Provides @Singleton xxx.ApplicationModule.provideAppContext()
下面是我的应用
我正在尝试注入一个活动的属性,但是它只是被设置为null,但我无法找到原因。
@Inject
AuthenticationViewDispatcher mAuthenticationViewDispatcher;
--------
public class AuthenticationViewDispatcher {
@Inject
public AuthenticationViewDispatcher() {
}
}
----
@Singleton
@Component(modules = ApplicationModule.class)
public i
让我说:
public interface Shape {}
public class Rectangle implements Shape {
}
public class Circle implements Shape {
}
我有一个ApplicationModule,它需要为Rec和循环提供实例
@Module
public class ApplicationModule {
private Shape rec;
private Shape circle;
public ApplicationModule() {
rec = new
有负责管理数据库的DataAccessInterface类:
public class DataAccessInterface {
private DaoSession daoSession;
public DataAccessInterface () {
}
...
public void saveCar (Car car) {
daoSession.getCarDao (). insert (car);
}
}
成功地在几个片段中使用了DataAccessInterface注入。示例:
public class LoginFr
我已经和Dagger 2一起工作了一段时间了,我还在努力弄清楚一些事情。有一件事我还没有很好的管理,那就是为不同的情况设置模块和组件,比如一个有几个片段的活动。我已经看到了很多实现,而且大多数时候都有点不同。
所以,让我公开我目前的应用程序结构,使用MVP和我想要一些意见,如果我的实现是可以的或不。
@Module
public final class ApplicationModule {
private Context mContext;
public ApplicationModule(Context context){
mContext = context;
}
pu
在寻找和尝试了太多的事情之后,我陷入了一些看似简单的问题中。下面是我的模块,这是可回复的注射改造。
@Module
public class NetworkingModule
{
@Provides
public Retrofit providesRetrofit()
{
Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();
Retrofit retrofit = new Retrofit.Build
在将代码从Dagger 2移植到Android Dagger 2.11时,我不知道如何设置一些东西。在Dagger 2中,设置是这样的: public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
this.initializeInjector();
}
private void initializeInjector() {
//this class should be auto-g
如何将@ActivityScoped模块注入到片段中。
我在片段中需要的模块如下所示(将其注入活动)
@ActivityScoped
class ClipManager @Inject constructor(private val activity: Activity) { ... }
为了将我的MainActivity绑定到Activity,我使用了一个ActivityModule
@Module
abstract class MainActivityModule {
@Binds
@ActivityScoped
internal abstract fun bin
如何从@Singleton组件返回非单例对象? 例如,我有: ApplicationComponent.kt @Singleton
@Component(modules = [ApplicationModule::class])
interface ApplicationComponent() {
fun database(): Database
fun model(): Model
} Model.kt class Model @Inject constructor() 我想要的是每次返回一个不同的Model实例,与Database相反,它将是一个单例,并由Applicat