我想知道是否可以使用模拟数据和拖动器创建一个单例我知道不使用拖动器 2 的标准代码public class Singleton { private Singleton() { } private static class SingletonHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return SingletonHolder.INSTANCE; } public String getFoo() { return "bar"; }}在这里,我知道将带有数据的数组列表放在哪里进行模拟,但是如何用匕首做到这一点,用于将 ArrayList 与数据一起放置的设置函数或类似函数在哪里,以及如何调用。
1 回答

Smart猫小萌
TA贡献1911条经验 获得超7个赞
您只需要在其中一个模块中添加一个方法并使用 @Singleton 注释对其进行注释。例如:
@Module
public class MyModule {
@Provides
@Singleton
MockData provideMockData() {
return new MockData(Arrays.asList("A", "B", "C"));
}
@Provides
OtherClass provideOtherClass(MockData mockData) {
return new OtherClass(mockData);
}
}
public class MockData {
private List<String> list;
public MockData(List<String> list){
this.list = list;
}
public List<String> getList() {
return list;
}
}
检查https://google.github.io/dagger/users-guide.html中的“单例和作用域绑定”部分
添加回答
举报
0/150
提交
取消