安卓APP_ jetPack —— MVC架构之联动 ViewModel、LiveData、DataBinding 应用:篮球积分器

本文为学习笔记,所用的图片、案例均为教学视频截图

源视频地址:阶段综合:篮球比赛计分器)
作者:longway777

实现效果

输入队伍名称,可以通过按钮的点击对其进行积分,也可以撤销上一次操作,重置分数。

在这里插入图片描述
这用到了数据监听(LiveData),数据回绑到xml(DataBinding ),页面数据独立(ViewModel),上述都是jetpack组件的一员。

重点掌握:MVC架构

MVC架构让项目开发变得非常简单,去除繁杂的操作,让开发者能更加专注于应用的本身,减少代码的重复度,增加代码的可读性。

更重要的是完成了M(数据:model)、V(布局:view)、C(控制器:contoller)三部分的解耦。

减少的代码的重复度:可以体现在之前需要大篇幅的进行findViewByid,以及对各个按钮点击事件的处理
模块分工明确:可以体现在activity中,没有了对数据的处理,控制器只需要关注与业务逻辑本身,模块化非常清晰。
降低MVC三个部分之间的耦合:意义重大,当其中一部分需要作出较大改动时,其他部分受到的影响会大大减少。

架构模块如下图(图源自b站jetPack教程,up主:longway777

在这里插入图片描述

一、可视化图形编程创建main.xml布局

创建如下图所示布局:

在这里插入图片描述
有了约束布局,这个界面创建的时间可以控制在5分钟以内,注意每当一个控件发出警告时,就立刻进行处理,而不是等到控件全部放完后再进行处理,容易混乱。


期间使用到的小技巧:

(1)字体大小参数设置等也是可以提取到资源文件中,以便于重复使用的。
在这里插入图片描述这样,当我们设置其他相似控件就可以从这里提取资源
在这里插入图片描述

(2)预览,看看显示3个数,2个数具体效果会怎么样,用来观察显示不同数值时页面的效果,这里设置的数据不会对UI有影响。
在这里插入图片描述

(3)contentDescription到底是什么?

当开启了手机的辅助功能,如屏幕朗读,这时候每个控件上都应该有内容能够被系统读取出来。
在这里插入图片描述

二、创建viewModel:数据模块

主要内容如下:

创建数据,以及设置方法。

在这里插入图片描述

三、加入dataBinding:为后续在xml中绑定数据做准备

(1)在gradle中加入
在这里插入图片描述(2)在main.xml中更换布局
在这里插入图片描述(3)创建data变量
在这里插入图片描述

四、Activity:只需要管理dataBinding和viewModel

在这里插入图片描述

五、main.xml:数据绑定到xml

在xml中,点击控件右键可以跳转到具体代码
在这里插入图片描述

(1)对于textView: 数据监听,改变队伍的分数

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值