Я не могу придумать, как ввести сетевой модуль. Я пытаюсь найти много способов ввести сетевой модуль в кинжал 2. Но я не могу решить эту проблему. Пожалуйста, помогите мне.
abstract class BaseRepository protected constructor() {
init {
val logger = HttpLoggingInterceptor()
logger.level = HttpLoggingInterceptor.Level.BODY
val client = OkHttpClient.Builder()
.connectTimeout(1, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS)
.addInterceptor(logger)
.build()
val retrofit = Retrofit.Builder()
.baseUrl(BuildConfig.BASE_URL)
.addConverterFactory(GsonConverterFactory.create(Gson()))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build()
mTheApi = retrofit.create<AttendanceApi>(AttendanceApi::class.java)
}
}
Я пробую этот модуль, но он не работает.
class NetworkModule {
companion object {
private const val NAME_BASE_URL = "NAME_BASE_URL"
}
@Provides
@Named(NAME_BASE_URL)
fun provideBaseUrlString()=
"http://attendance.saltcloudserver.com/api/"
@Provides
@Singleton
fun provideHttpClient()=OkHttpClient()
@Provides
@Singleton
fun provideRetrofit(interceptor: HttpLoggingInterceptor): OkHttpClient {
return OkHttpClient.Builder()
.connectTimeout(1, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS)
.addInterceptor(interceptor)
.build()
}
}
Я ожидаю вывод, но не могу ввести это.