0.效果图效果图依次为发现界面顶部,包含首页轮播图,水平滚动的按钮,推荐歌单;然后是发现界面推荐单曲,点击单曲就是直接进入播放界面;最后是全局播放控制条上点击播放列表按钮显示的播放列表弹窗。1.整体分析整体使用RecycerView实现,每个不同的块是一个Item,例如:轮播图是一个Item,按钮也是,推荐歌单和下面的歌单是,推荐单曲,还有最后的自定义首页那块也是一样。提示:之所以把推荐歌单下面的
https://medium.com/@soundhar.p03/android-mvi-architecture-230cd30e40b4 大家有时间和精力可以阅读原文,翻译可能不怎么到位,到时候网批评指正。大家好,在本篇博客中,我们就会讨论有关Andorid的MVI设计模式。近些日子有关Andorid架构模式都在逐步进化中。对于我们开发的App中,我们开始面临新的挑战和困难。新的设计模式将会
转载 2023-10-25 15:36:26
962阅读
前言Android开发发展到今天已经相当成熟了,各种架构大家也都耳熟能详,如MVC,MVP,MVVM等,其中MVVM更是被官方推荐,成为Android开发中的显学。不过软件开发中没有银弹,MVVM架构也不是尽善尽美的,在使用过程中也会有一些不太方便之处,而MVI可以很好的解决一部分MVVM的痛点。本文主要包括以下内容:1. MVC,MVP,MVVM等经典架构介绍。2. MVI架构到底是什么?3.
转载 2023-08-05 00:03:30
81阅读
由于前几日感冒发烧了,加之老婆怀孕了,所以更新不及时,请朋友们见谅 ,同时弟弟开学了,我的教学继续摧残着他!文章稍后整理好了更新上来。 今天我们主要来介绍登陆页面的实现,主要讲解的就是涉及到的布局,以及简单的跳转需要用到的代码。   首先我们来看看布局的xml代码 login.xml 1. <span style="font-fa
# Android MVI 开发实践指南 ## 简介 在 Android 开发中,采用 MVI(Model-View-Intent)架构模式可以帮助开发者更好地组织代码,并提供一种响应式的方式来处理用户界面的交互。本文将介绍如何使用 MVI 架构来开发 Android 应用,以及每个步骤中需要做什么。 ## MVI 流程 下面是 MVI 架构在 Android 开发中的典型流程: | 步
原创 2023-08-24 15:57:34
122阅读
首先我们来看一下MVVM的架构模式: MVVM(Model-View-ViewModel)是一种软件架构模式,用于设计和组织用户界面(UI)驱动的应用程序。它由三个主要组件组成:Model(模型):负责表示应用程序的数据和业务逻辑。它包含了数据模型、数据访问和处理数据的操作。View(视图):负责展示用户界面给用户,并与用户进行交互。它是应用程序的可视部分,通常包括各种UI元素,如按钮、文本框、列
# Android MVI 架构实现指南 ## 1. 简介 Android MVI(Model-View-Intent)架构是一种用于构建Android应用程序的架构模式,它将应用程序分为三个核心组件:Model(模型),View(视图)和Intent(意图)。MVI架构的核心思想是通过状态流和单向数据流来管理应用程序的状态和交互。 在本文中,我将向你介绍如何实现Android MVI架构。我
原创 2023-10-24 12:01:02
193阅读
# Android MVI LoadSuccessState ## 简介 在 Android 开发中,使用 MVI (Model-View-Intent) 架构可以帮助我们更好地管理应用程序的状态和业务逻辑。其中的 `LoadSuccessState` 是指在加载数据成功后的状态。 本文将介绍 MVI 架构中的 `LoadSuccessState`,并提供一个代码示例来说明如何在 Andro
原创 2023-09-04 19:11:53
74阅读
前言 自从官方MVP的Sample出来后,闹得热火朝天的MVP,小码也未能幸免加入MVP大坑中,入坑近2年的MVP的架构终于要说拜拜了,最近由于公司项目相对稳定,做了一次较大的重构,原来的MVP架构切换到了T-MVVM,模型和视图彻底分离,整个项目清爽了许多。 问题 MVP缺点:Presenter中除了逻辑以外,还有大量的View->Model,Model->View的逻辑操作,造成
转载 10月前
24阅读
现在从事Android开发的,多少都要懂点架构知识,从MVC、MVP再到MVVM,想必大家对于其各自的优缺点早已如数家珍。今天介绍的MVI与MVVM非常接近,可以更针对性地解决一些MVVM中解决不了的问题何为MVIMVI即Model-View-Intent,它受Cycle.js前端框架的启发,提倡一种单向数据流的设计思想,非常适合数据驱动型的UI展示项目:Model: 与其他MVVM中的Mod
转载 2023-11-12 14:41:37
86阅读
Android MVI (Model-View-Intent) 架构是一种在 Android 应用中使用的架构模式,用于实现单向数据流和分离关注点。在本文中,我将向你展示如何使用 Android MVI 架构来构建一个简单的示例应用。 ## 整体流程 下面是使用 Android MVI 架构实现一个示例应用的整体流程。你可以按照这些步骤逐步进行开发。 | 步骤 | 描述 | | ---- |
原创 2024-01-17 06:24:09
180阅读
# Android MVI云端数据实现流程 ## 概述 在Android开发中,MVI(Model-View-Intent)是一种架构模式,它将应用程序的状态分为三个组件:模型(Model)、视图(View)和意图(Intent)。MVI模式的一个常见应用场景是处理云端数据,本文将教你如何实现Android MVI云端数据。 ## 实现步骤 | 步骤 | 动作 | 代码 | | ------
原创 2023-08-02 09:29:58
82阅读
这些年来,Android 上发展了多种主流架构,从最开始的MVC,到Clean和MVP,再到现在最火热的M
原创 2022-09-03 06:59:28
3370阅读
# 深入理解 MVi 架构在 Android 美团应用中的应用 在 Android 应用开发中,架构模式是实现高效、可维护代码的重要手段。近年来,MVi(Model-View-Intent)架构逐渐被广泛采用,成为开发高流畅度和高可维护性的 Android 应用之一,例如美团这类大规模应用。本文将介绍 MVi 架构的基本概念,并通过代码示例来帮助你理解它是如何在 Android 中实现的。 #
原创 10月前
40阅读
# Android Flow实现MVI ## 整体流程 在Android开发中,使用MVI(Model-View-Intent)架构可以有效地管理应用的状态和数据流。而使用Android Flow可以实现MVI架构。下面是整个流程的步骤: | 步骤 | 描述 | | ------ | ----- | | 1 | 创建Model类,用于存储应用的状态数据 | | 2 | 创建View类,负责展
原创 2024-06-01 05:38:34
85阅读
You know the importance of architecture and design pattern if you have worked on any intermediate and high-level projects. It is essential to keep our project loosely coupled; which means keeping all
背景项目中有用到生命周期感知型组件 MutableLiveData,它是 LiveData 的子类,这里主要介绍 MutableLiveData 在项目中的简单使用。一些优点不用担心发生内存泄漏可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的 UI不需要手动取处理数据的储存和恢复。它已经帮我们封装好了注意:当 Actiivty 不是处于激活状态的时候,如果你想 livedata
MVCMVC架构主要分为以下几部分:1.View: 对应于xm布局文件和java代码动态view部分。2.Controller: 主要负责业务逻辑,在android中由Activity承担,但xml视图能力太弱,所以Activity既要负责视图的显示又要加入控制逻辑,承担功能过多。3.Model: 主要负责网络请求,数据库处理,I/O操作,即页面的数据来源。如2所说,android中xml布局功能
转载 2023-07-13 14:48:02
67阅读
 MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用。它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 MVVM 架构的区别就不容易了。 一、MVCMVC模式的意思是,软件可以分成三个部分。视图(View):用户界面。控制器(Controller):业务逻辑模型(Model):数据保存各部分之间的通信方式如下。View 传送指令到
# Android MVI 架构模式 ## 简介 MVI(Model-View-Intent)是一种在 Android 应用程序中使用的架构模式,它通过将应用程序的状态和用户操作分离,提供了一种可预测和可测试的方式来管理应用程序的状态。 MVI 架构模式的核心概念包括: - **Model**:表示应用程序的状态,是一个不可变的数据类。 - **View**:负责显示用户界面,并向用户显示
原创 2023-11-09 05:07:29
204阅读
  • 1
  • 2
  • 3
  • 4
  • 5