面臨的問題我寫的代碼下面的代碼編譯沒有錯誤,但是當我嘗試運行,我得到異常DaggerAppComponent沒有找到與科特林匕首2
AppModule.kt
@Module
class AppModule private constructor() {
@Provides
fun providesDispatcher(): Dispatcher {
return Dispatcher(providesBus())
}
@Provides
fun providesUserActionCreator(): PnrUserActionCreator {
return PnrUserActionCreator(providesDispatcher())
}
@Provides
fun providesBus(): Bus {
return sBus
}
companion object {
private val sBus = Bus()
private var sAppModule: AppModule? = null
/**
* Gets the app module instance
* @return AppModule instance
*/
val instance: AppModule
get() {
if (sAppModule == null) {
sAppModule = AppModule()
}
return sAppModule !!
}
}
AppComponent.kt
@Component(
modules = arrayOf(AppModule::class)
)
interface AppComponent {
fun inject(mainActivity: MainActivity)
}
MainActivity .kt
class MainActivity : AppCompatActivity() {
@Inject lateinit var mPnrUserActionCreator: PnrUserActionCreator
@Inject lateinit var mEventBus: Bus
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main_screen)
DaggerAppComponent.builder().appModule(AppModule.instance)
.build().inject(this)
}
}
爲的build.gradle文件匕首依賴
kapt {
generateStubs = true
}
// Dagger 2
compile 'com.google.dagger:dagger:2.4'
kapt 'com.google.dagger:dagger-compiler:2.4'
provided 'org.glassfish:javax.annotation:10.0-b28'
有人能告訴我在做什麼錯了,我應該怎麼做,使之正確嗎?
你會得到什麼錯誤? – azizbekian