Android:使用Kotlin搭建MVVM架构模式

一、简介Android MVVM架构模式

MVVM全称:Model、View、ViewModel;

  • Model:负责数据的请求、解析、过滤等数据层操作,其中Repository: 提供数据的 API(从本地或者网络)。
  • View:负责视图部分展示
  • ViewModel:作为View和Model之间的桥梁,负责监听Model的数据变化,并通知View进行更新。VM层对应MVP中的P(Presenter)层

二、KotlinMVVM架构介绍

2.1 技术摘要
2.2 项目结构图
2.2.1 compositebuild

统一管理Gradle依赖版本
在这里插入图片描述

2.2.2 baselib

在这里插入图片描述

BaseAndroidViewModel.kt代码图

在这里插入图片描述

2.2.3 app

在这里插入图片描述

三、页面代码图

3.1 登录页相关代码

LoginRepository.kt代码图
在这里插入图片描述
LoginViewModel.kt代码图
在这里插入图片描述
LoginActivity.kt代码图
在这里插入图片描述

3.2 WXArticle页面相关代码

WXArticleRespository.kt代码图
在这里插入图片描述
WXArticleViewModel.kt代码图
在这里插入图片描述
WXArticleActivity.kt代码图
在这里插入图片描述

四、提醒

  • 开启Databinding数据绑定仍需要在模块中启用 kapt。在使用数据绑定的模块中,不能移除 kapt。
  • 创建ViewModel方式
    在BaseActivity和BaseFragment里统一通过ViewModelProvider创建ViewModel
  • 如果没有封装成统一的方式,独立创建ViewModel
    在gradle里依赖androidx.activity:activity-ktx:xxx
    在Activity里,可以通过 by viewModels()
    在gradle里依赖androidx.fragment:fragment-ktx:xxx
    在Fragment里,可以通过 by activityViewModels()

五、遇到的问题

5.1 问题描述

Kotlin搭建MVVM, 使用DataBinding出现:XXX Unresolved reference: BR
在这里插入图片描述

5.2 解决问题方案

生成kapt,在模块的build.gradle.krs中添加Kotlin-apt插件

plugins {
    id("kotlin-kapt")
}
android {
    kapt{
        generateStubs = true
    }
}

六、源码

点击查看gitee上的KotlinMVVM源码demo

点击查看github上的KotlinMVVM源码demo

七、推荐阅读

Android:使用Kotlin搭建MVVM+组件化App架构
Android 组件化的实现方案

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值