Я новичок в Hilt и никогда не пользовался кинжалом должным образом. Я получаю следующую ошибку.
[Dagger/MissingBinding] retrofit2.Retrofit cannot be provided without an @Inject constructor or an
@Provides-annotated method.
Я аннотировал свой метод provideRetrofit с помощью @provides и установил его в Application Component. Я хочу внедрить его в свою основную деятельность и использовал там аннотацию инъекции. Я попытался установить его в компонент активности, но результат тот же.
Вот мой модуль модернизации.
@Module
@InstallIn(ApplicationComponent::class)
class RetrofitModule {
@Singleton
@Provides
fun provideGson(): Gson {
return GsonBuilder().create()
}
@Singleton
@Provides
fun provideRetrofit (gson: Gson): Retrofit{
return Retrofit.Builder().baseUrl("Base Url")
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava3CallAdapterFactory.create()).build()
}
}
В своей основной деятельности я написал это, чтобы ввести его.
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject lateinit var retrofit: Retrofit
@AndroidEntryPoint
к Activity? - person ADM   schedule 20.09.2020@HiltAndroidApp
? - person Thracian   schedule 20.09.2020application
класс - person milad salimi   schedule 20.09.2020@HiltAndroidApp
? Вы им пользовались? - person Thracian   schedule 20.09.2020api
interface
, вы использовалиRetrofit
до сих пор? - person milad salimi   schedule 20.09.2020