草庐IT

Jetpack-MVVM

全部标签

【Jetpack】Room + ViewModel + LiveData 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )

文章目录一、Room+ViewModel+LiveData框架使用核心要点1、Room框架优化分析2、Google官方建议的Room+ViewModel+LiveData架构3、Room与LiveData结合使用要点4、Repository层核心要点5、ViewModel+Room结合使用6、Activity组件中ViewModel使用要点7、Room框架主动查询数据库数据需保留除LiveData返回值外的正常查询方法二、完整代码示例1、build.gradle构建脚本2、Room框架相关代码Entity实体类Dao数据库访问接口对象Database数据库实体类3、Repository代码4、

Jetpack Compose中的动画

JetpackCompose中没有沿用Android原有的View动画和属性动画,而是新创建了一套全新的动画系统API,这是理所当然的,因为旧的动画系统主要是基于View体系的,而Compose中需要针对的是Composable可组合函数进行处理,那么势必要创造一套新的玩具出来,同时,这也无疑增加了开发者的学习成本。乍一看JetpackCompose中的动画Api,尼玛是真的多呀,我C了,简直令人眼花缭乱、云里雾里、天马行空、小兔乱撞、手脚慌乱、头冒虚汗、四肢抓狂、不知所措呀。。。😭但是我们可以对其进行分一下类,如果按照使用的方便程度划分,大概可以分为两大类:高级动画API和低级动画API(这

【愚公系列】2023年02月 .NET CORE工具案例-Caliburn.Micro的使用基于WPF的改造的MVVM案例

文章目录前言1.Caliburn.Micro是什么2.Caliburn.Micro的主要功能一、Caliburn.Micro的使用基于WPF的改造1.项目介绍2.安装软件包3.改造App启动项目4.BootstrapperBase启动类5.视图和视图模型详解5.1index5.1.1视图模型5.1.2视图5.2Login5.2.1视图模型5.2.2视图5.3Login5.3.1视图模型5.3.2视图前言1.Caliburn.Micro是什么Caliburn.Micro是一个微软开发的用于构建WPF,Silverlight和WindowsPhone应用程序的MVVM(模型-视图-视图模型)框架。

Android 架构思想与 MVVM 框架封装

关于Android项目架构也是一个老生常谈的话题了,网上关于Android架构的文章不胜枚举,但是通过Google检索关键字,首页的热门文章多数是对于MVC、MVP及MVVM等架构的概念介绍,概念性的文章对于不了解Android架构的同学来说并不一定能起到很好的帮助。本篇文章其实源自笔者在公司内部的技术分享,稍作修改后作为文章发布出来。文章内容涉及从MVC、MVP到MVVM的演化,同时为便于理解,每种架构都做了代码演示,最后基于Jetpack提供的组件封装了MVVM架构。文章内容比较基础,几乎没有晦涩难懂的知识,对于想要了解Android架构的同学会有很大的帮助。一、Android项目架构的演

羡慕大劳星空顶?不如跟我一起使用 Jetpack compose 绘制一个星空背景(带流星动画)

前言背景作为一个自诩的电影爱好者,经常会在半夜看电影,看完后就会顺道去豆瓣标记一下看过,再看看别人对这个电影的理解。某日深夜,看完电影后,顺手打开了豆瓣的书影音记录这个功能,起初并没有注意到这个页面的背景有什么东西,我以为只是一个普通的深色背景而已,直至一道流星突然划过屏幕!好漂亮!我这才发现原来这个页面的背景是一个星空!时不时的还会有流星飞过!这么漂亮的背景,不仿写一下真的对不起它了!这个页面静态时是这样的:我把内容拉到最后,然后录制了一个动图,可以看到流星飞过的样子:实现效果这次依然使用JetpackPackCompose作为UI框架来实现。最终实现效果如图:代码地址完整代码地址:star

Jetpack Compose 不止是一个UI框架~

JetpackCompose是用于构建原生AndroidUI的现代工具包。JetpackCompose使用更少的代码,强大的工具和直观的KotlinAPI,简化并加速了Android上的UI开发。这是AndroidDevelopers官网对它的描述。本文不是教你JetpackCompose的一些基本使用方法,而是为啥我们需要JetpackCompose的一些简洁,让我们对JetpackCompose有更深层次的了解。1.为什么我们需要一个新的UI工具?在Android中,UI工具包的历史可追溯到至少10年前。自那时以来,情况发生了很大变化,例如我们使用的设备,用户的期望,以及开发人员对他们所使

【.NET6+WPF】WPF使用prism框架+Unity IOC容器实现MVVM双向绑定和依赖注入

前言:在C/S架构上,WPF无疑已经是“桌面一霸”了。在.NET生态环境中,很多小伙伴还在使用Winform开发C/S架构的桌面应用。但是WPF也有很多年的历史了,并且基于MVVM的开发模式,受到了很多开发者的喜爱。并且随着工业化的进展,以及几年前微软对.NET平台的开源,国内大多数企业的工业系统或上位机系统,也慢慢从使用MFC、QT等C++平台,转向了.NET平台。并且.NET平台上,桌面应用上,WPF由于其独特的一些特性、以及可以制作动画、无损图像等,WPF的占比也越来越高。但是大多数小伙伴可能还是按照开发Winform的传统思路来开发WPF,所以这篇文章当做是一个使用MVVM模式开发的入

CommunityToolkit.Mvvm学习笔记(6)——RelayCommand

文章目录一、前言二、RelayCommand2.1.概述2.2.它们是如何工作的2.3.简单使用无参命令2.4.使用带参命令三、小结一、前言由于项目时间比较紧,所以先拣使用频繁的模块学习了。ComponentModel中的ObservableValidator等后面有空再学。这篇先看命令RelayCommand,毕竟WPF中命令与变量的绑定是两大主要绑定。如果说属性绑定是向UI暴露数据,那Command就是向UI暴露方法(或者说逻辑)。Notes:这边说的暴露是解耦的,不管你绑定的变量或者命令是否存在,界面都能独立运行。二、RelayCommand2.1.概述MVVMToolkit中的Rela

C# WPF简单的MVVM模式事例

一、前言WPF中使用MVVM模式开发有诸如以下优点:1.结构清晰明朗,上手成本低,一个新人也能快速的定位自己需要改动代码的位置。2.耦合度低,更改WPF控件不影响数据结构,更改代码成本低。3.可重用性高,比如一个处理逻辑放到ViewModel模块中,其他界面如果要用掉直接调用即可。当然并不是所有的项目都去使用MVVM开发,一些简单的我们也可以按照正常的开发。本次例子参考“刘铁猛”老师的WPF视频教程,大家有兴趣可以去观看。话不多说,开始写Demo。二、需要实现目的点击相加按钮实现数字一和数字二想加的结果:点击保存按钮弹出文件保存窗口(只是简单的弹出窗口,并非实现正在的保存)三、编写Sample

Wpf在.Net 6 下该用哪个Mvvm框架-Microsoft.Toolkit.Mvvm

前言在Wpf下最常使用的就是Mvvm模式了,有自己造轮子构建Mvvm框架的,也有使用现成的开源项目,我之前一直使用的是轻量级的MvvmLight了,这个框架还是非常不错的,使用也简单,不占用太大空间,其中最喜欢的莫过于全局Messenger了,可谓是神器。最近有个项目使用.Net6开发,在NuGet发现MvvmLight已经很久不更新了,上一次还是2018年9月12日,偶然发现微软官方出的Microsoft.Toolkit.Mvvm完全继承了Messenger的优良传统,这是一个官方社区套件(WindowsCommunityToolkit),延续了MVVMLight的风格,是一个轻量级的组件,