我想知道是否可以使用模擬數據和拖動器創建一個單例我知道不使用拖動器 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
提交
取消