洞察纵观鸿蒙next版本,如何凭借FinClip加强小程序的跨平台管理,确保企业在数字化转型中的高效运营和数据安全?
1332
2022-10-17
mvvm模式框架demo
MvvmDemo
mvvm模式框架demo
一.主要第三方框架使用:
dagger2,okhttp3,retrofit2,arouter,Kotlin协程,glide4.0+,databinding...
二.框架使用:(kotlin)
1.导入lib
implementation project(':base_mvvm_lib')
2.开启databinding
apply plugin: 'kotlin-kapt' ...android{ ... dataBinding{ enabled = true }}...dependencies{ ... kapt "com.android.databinding:compiler:$databinding_version"}
3.导入第三方依赖
dagger2依赖注入:
dependencies{ ... kapt "com.google.dagger:dagger-compiler:$dagger_version" kapt "com.google.dagger:dagger-android-processor:$dagger_version"}
glide图片加载:
dependencies{ ... kapt "com.github.bumptech.glide:compiler:$glide_version"}
ARouter路由:
android{ ... defaultConfig{ ... //ARouter 框架配置 kapt { arguments { arg("AROUTER_MODULE_NAME", project.getName()) } } }}dependencies{ ... kapt "com.alibaba:arouter-compiler:$arouter_compiler_version"}
4.初始化sdk
dagger2相关:
@Singleton@Component( modules = [ AndroidInjectionModule::class, AndroidSupportInjectionModule::class, ActivityBindingModule::class, ... ])interface AppComponent : AndroidInjector
界面注册绑定 (继承LibActivityBindingModule)
@Module(includes = [LibActivityBindingModule::class])internal abstract class ActivityBindingModule { @ActivityScope @ContributesAndroidInjector(modules = [xxxmModule::class]) abstract fun contributexxxActivityInjector(): xxxActivity}
注册对应界面的vm相关
@Moduleabstract class xxxVmModule { @Binds @IntoMap @ViewModelKey(xxxVm::class) abstract fun bindMainViewModel(viewModel: xxxVm): ViewModel}
全局初始化第三方
class AppApplication : DaggerApplication() { override fun applicationInjector(): AndroidInjector
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~