美文网首页Android架构Android专题
Android MVVM设计模式(摸索)

Android MVVM设计模式(摸索)

作者: JYangkai | 来源:发表于2019-03-16 21:31 被阅读54次

正文

今天我们来一起来了解下Android MVVM设计模式

关键字:MVVM、Jetpack、DataBinding、ViewModel、LiveData、Kotlin

我之前开发的时候,觉得不按框架而按自己的想法去写是可以的,但是自己开发了几次之后就发现维护起来特别地困难,现在我的想法改变了,我觉得是时候学学使用框架开发,所以我写关于Android MVVM的一系列文章,我也是刚开始学(MVVM都出来好几年了,甚是尴尬,赶紧学起来吧)

我们先从几个概念出发

MVVM

一种设计框架,分为View、ViewModel、Model三层

View层:包括Activity、Fragment,主要负责UI控件的更新显示,不涉及任何的业务逻辑

ViewModel:这一层和View层是相反的,它只负责业务逻辑,不能做UI方面的工作

Model:主要是数据的获取和整合,可以从本地数据库获取数据,也可以从后台服务器获取,提供一个数据仓库整合数据

这三层只是上层拥有下层的引用,反过来不能,比如View层可以拥有ViewModel层的引用,但是ViewModel不能拥有View层的引用,而且不能跨层引用,也就是说View层不用直接拥有Model层的引用,必须要通过ViewModel引用Model层才能实现相关的功能

那么,我们明白了MVVM的思想了该怎么设计呢,代码应该怎么写呢,这个不要慌,我们慢慢学(我也是刚学,正在摸索中),先往下看

Jetpack

先上一张官网的图

image.png
image.png

官网描述地很清楚,但是我们还是不知道从何开始,不急,我们再来了解几个有趣牛逼的东西

DataBinding

这个东西就牛逼了,而且Jetpack2.0也集成了DataBinding

DataBinding:早在2015年的IO大会就已经介绍了(太尴尬了,出来这么久了我都还没用过),它可以帮助我们实现MVVM,它可以将数据绑定在xml中,既可以单向绑定,也可以双向绑定,单向绑定好理解,所谓双向绑定就是数据变化时,UI也做相应的变化

这个我们现在只要知道它可以帮助我们实现MVVM就可以了,具体怎么用我们后面慢慢讲(其实我是真的没用过,我要用过之后才能写,不能乱写)

LiveData

这个也是在Jetpack里的一个架构,我们先从字面意思上对它解读

首先Data一看就知道它应该和数据有关,然后就是Live,有生命的意思,在Android中有生命周期这一概念,那这样下来,我们可以得到一个结论:LiveData它应该是一个和生命周期相关的数据之类的架构

LiveData:一种具有感知生命周期能力的可观察数据持有类,一般在ViewModel中定义

为什么要赋予它生命周期感知能力呢,其实是为了有效地防止内存泄漏

Kotlin

相信大家对这个名字不陌生了吧,现在很多开发都是用的Kotlin,渐渐地成为了一种趋势了,我之前也只是知道这个语言,不去了解,就像当时只用eclipse + ADT开发app而不去了解AS一样,现在我可能要花点时间去学习下Kotlin了,不然就OUT,跟不上时代了

最后附上Google在B站上的Android开发教学视频(之前还没注意Google居然入驻B站,尴尬)

相关文章

  • Android MVVM设计模式(摸索)

    正文 今天我们来一起来了解下Android MVVM设计模式 关键字:MVVM、Jetpack、DataBindi...

  • MVVM设计模式在Android编程中的应用

    MVVM设计模式在Android编程中的应用 大家好,这一期呢,我们来看一下mvvm的设计模式。 Mvvm的意思是...

  • 架构设计和设计模式

    谈谈你对Android设计模式的理解 MVC MVP MVVM原理和区别 你所知道的设计模式有哪些? 项目中常用的...

  • Android基础(38)设计模式

    1)谈谈你对Android设计模式的理解2)MVC MVP MVVM原理和区别3)你所知道的设计模式有哪些?4)项...

  • android 设计模式

    [译] MVVM 模式介绍 让我们更好地理解 MVVM 模式Android官方培训课程中文版 学习Android最...

  • DataBinding深入使用(一)

    简介 Android开发中最常见的三种设计模式为mvc、mvp、及mvvm,每种设计模式都各有优劣,这篇文章主要介...

  • Vue快速入门

    MVVM模式 什么是MVVM模式? MVVM(Model-View-ViewModel)是一种软件架构设计模式,由...

  • Android中MVP设计框架浅析

    一、MVP设计模式简介 目前Android设计成熟的框架有MVC,MVP和MVVM,MVP是由MCV演变而来,MV...

  • MVVM设计模式

    MVVM设计模式 在介绍MVVM设计模式之前我们先介绍一下DataBinding DataBinding,2015...

  • vue面试问题

    1.MVVM模式和MVC模式 MVVM模式是Model-View-ViewModel的缩写。MVVM是一种设计...

网友评论

    本文标题:Android MVVM设计模式(摸索)

    本文链接:https://www.haomeiwen.com/subject/fghemqtx.html