【zZ】dagger2使用心得(二)

来源:互联网 发布:知乎2.7.2 编辑:程序博客网 时间:2024/06/07 01:10
之前在使用dagger2的时候,有关初始化的问题,什么样儿的类初始化的时候才应该写入Module中,我的答案是有参数,或者非无参构造方法初始化的类。
import android.content.Context;
import android.location.LocationManager;

import javax.inject.Singleton;

import cobra.data.net.NetworkService;
import cobra.presentation.CobraApplication;
import dagger.Module;
import dagger.Provides;
import static android.content.Context.LOCATION_SERVICE;

/**
* Created by cobra on 2015/8/29.
*/
@Module
public class ApplicationModule {
private final CobraApplication application;

public ApplicationModule(CobraApplication application) {
this.application = application;
}


@Provides
@Singleton
Context provideApplicationContext() {
return this.application;
}


@Provides
@Singleton
NetworkService provideNetworkService() {
return new NetworkService(application);
}

@Provides
@Singleton
LocationManager provideLocationManager() {
return (LocationManager) application.getSystemService(LOCATION_SERVICE);
}
}

0 0