首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用dragger 2创建模拟数据的单例类?

如何使用dragger 2创建模拟数据的单例类?
EN

Stack Overflow用户
提问于 2019-01-24 10:46:57
回答 1查看 62关注 0票数 1

嗨,我想知道是否可以用mockdata和dragger创建一个单例。

我知道在没有dragger 2的情况下进行操作的标准代码。

代码语言:javascript
复制
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与数据放在一起,以及如何调用。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-24 11:11:09

您只需在一个模块中添加一个方法,并使用@Singleton注释对其进行注释。例如:

代码语言:javascript
复制
@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中的“单例和作用域绑定”一节

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54344825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档