LiveCycle Livedata ViewModel的股票和ViewBinding
我还是Kotlin的新手。
因此,我想在我的研究项目中尝试使用MoviedB作为数据来尝试生命周期,Livedata和ViewModel。但是,由于Android Kotlin扩展依赖性被弃用,因此我必须使用ViewBinding作为替代方案,但是当我运行应用程序时,它会出现这样的错误:
2022-06-28 11:39:19.935 25250-25250/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: id.kotlin.belajar, PID: 25250
java.lang.RuntimeException: Unable to start activity ComponentInfo{id.kotlin.belajar/id.kotlin.belajar.presentation.HomeActivity}: java.lang.IllegalStateException: Base URL required.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3686)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3823)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7892)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: java.lang.IllegalStateException: Base URL required.
at retrofit2.Retrofit$Builder.build(Retrofit.java:623)
at id.kotlin.belajar.di.module.HomeModule$Companion.provideRetrofit(HomeModule.kt:25)
at id.kotlin.belajar.di.module.HomeModule_Companion_ProvideRetrofitFactory.provideRetrofit(HomeModule_Companion_ProvideRetrofitFactory.java:29)
at id.kotlin.belajar.di.module.HomeModule_Companion_ProvideRetrofitFactory.get(HomeModule_Companion_ProvideRetrofitFactory.java:21)
at id.kotlin.belajar.di.module.HomeModule_Companion_ProvideRetrofitFactory.get(HomeModule_Companion_ProvideRetrofitFactory.java:11)
at id.kotlin.belajar.di.module.HomeModule_ProvidesHomeDatasourceFactory.get(HomeModule_ProvidesHomeDatasourceFactory.java:29)
at id.kotlin.belajar.di.module.HomeModule_ProvidesHomeDatasourceFactory.get(HomeModule_ProvidesHomeDatasourceFactory.java:13)
at id.kotlin.belajar.presentation.HomeViewModel_Factory.get(HomeViewModel_Factory.java:27)
at id.kotlin.belajar.presentation.HomeViewModel_Factory.get(HomeViewModel_Factory.java:11)
at id.kotlin.belajar.di.factory.ViewModelFactory.create(ViewModelFactory.kt:13)
at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:187)
at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:150)
at id.kotlin.belajar.presentation.HomeActivity$viewModel$2.invoke(HomeActivity.kt:26)
at id.kotlin.belajar.presentation.HomeActivity$viewModel$2.invoke(HomeActivity.kt:24)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at id.kotlin.belajar.presentation.HomeActivity.getViewModel(HomeActivity.kt:24)
at id.kotlin.belajar.presentation.HomeActivity.onCreate(HomeActivity.kt:38)
at android.app.Activity.performCreate(Activity.java:8285)
at android.app.Activity.performCreate(Activity.java:8264)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
因此,我想知道如何使用ViewBinding来了解所述API。
我需要一些股票或指南来做到这一点。谢谢。
I'm still new to Kotlin.
So I want to try Lifecycle, LiveData, and ViewModel in my study project, using moviedb as its data. But since Android Kotlin Extensions dependency is deprecated, I have to use viewBinding as an alternative, but when I run the app, it goes error like this:
2022-06-28 11:39:19.935 25250-25250/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: id.kotlin.belajar, PID: 25250
java.lang.RuntimeException: Unable to start activity ComponentInfo{id.kotlin.belajar/id.kotlin.belajar.presentation.HomeActivity}: java.lang.IllegalStateException: Base URL required.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3686)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3823)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7892)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: java.lang.IllegalStateException: Base URL required.
at retrofit2.Retrofit$Builder.build(Retrofit.java:623)
at id.kotlin.belajar.di.module.HomeModule$Companion.provideRetrofit(HomeModule.kt:25)
at id.kotlin.belajar.di.module.HomeModule_Companion_ProvideRetrofitFactory.provideRetrofit(HomeModule_Companion_ProvideRetrofitFactory.java:29)
at id.kotlin.belajar.di.module.HomeModule_Companion_ProvideRetrofitFactory.get(HomeModule_Companion_ProvideRetrofitFactory.java:21)
at id.kotlin.belajar.di.module.HomeModule_Companion_ProvideRetrofitFactory.get(HomeModule_Companion_ProvideRetrofitFactory.java:11)
at id.kotlin.belajar.di.module.HomeModule_ProvidesHomeDatasourceFactory.get(HomeModule_ProvidesHomeDatasourceFactory.java:29)
at id.kotlin.belajar.di.module.HomeModule_ProvidesHomeDatasourceFactory.get(HomeModule_ProvidesHomeDatasourceFactory.java:13)
at id.kotlin.belajar.presentation.HomeViewModel_Factory.get(HomeViewModel_Factory.java:27)
at id.kotlin.belajar.presentation.HomeViewModel_Factory.get(HomeViewModel_Factory.java:11)
at id.kotlin.belajar.di.factory.ViewModelFactory.create(ViewModelFactory.kt:13)
at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:187)
at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:150)
at id.kotlin.belajar.presentation.HomeActivity$viewModel$2.invoke(HomeActivity.kt:26)
at id.kotlin.belajar.presentation.HomeActivity$viewModel$2.invoke(HomeActivity.kt:24)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at id.kotlin.belajar.presentation.HomeActivity.getViewModel(HomeActivity.kt:24)
at id.kotlin.belajar.presentation.HomeActivity.onCreate(HomeActivity.kt:38)
at android.app.Activity.performCreate(Activity.java:8285)
at android.app.Activity.performCreate(Activity.java:8264)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
So I want to know how to the said APIs using ViewBinding.
I need some shares or guides to do it. Thank you.
Link: https://github.com/muhammadwibisonojanuar/Coding-2.git
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
base_url的NetworkModule:
NetworkModule for Base_URL: