草庐IT

Jetpack-MVVM

全部标签

Android Jetpack 从使用到源码深耕【LiveData 从实践到原理 】(二)

上文,我们就一个实例需求,引入了LiveData进行了实现,大家通过前后的编码实现方案对比,可以感受到LiveData的好用。不由的为jetpack组件的开发者点赞。AndroidJetpack从使用到源码深耕【LiveData从实践到原理】(一)AndroidJetpack从使用到源码深耕【LiveData从实践到原理】(二)AndroidJetpack从使用到源码深耕【LiveData从实践到原理】(三)AndroidJetpack从使用到源码深耕【LiveData从实践到原理】(四)本文,我们在深入阅读LiveData源码之前,先想一下,如果是我们自己去实现这样的一个框架,会遇到哪些问题

【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 )

文章目录一、Room框架使用核心要点1、build.gradle构建脚本配置说明应用插件导入依赖2、定义Entity实体类@Entity注解@PrimaryKey注解@ColumnInfo注解@Ignore注解修饰字段修饰函数3、定义Dao数据库访问对象接口@Dao注解@Insert注解@Delete注解@Update注解@Query注解4、定义RoomDatabase数据库实例类5、调用Room框架访问数据库二、完整代码示例1、build.gradle构建脚本2、Entity实体类代码3、Dao数据库访问对象接口代码4、RoomDatabase数据库实例类代码5、在Activity组件中通过

WPF 如何实现事件绑定 (MVVM)

什么是事件绑定?首先说到绑定,一般是在WPF中常见的,因为WPF中有一个比较好用的框架叫做MVVM所以View层的按钮等元件的的动作都是需要和后台ViewModel中的函数进行绑定的。如我们最常见的按钮的command绑定Command="{BindingBtncommand}"CommandParameter="write"这里面的command是命令,不是事件如果点击图片,或者按钮抬起来的时候需要触发一些命令的时候就需要使用事件绑定。为什么要用到事件绑定?但是可以想一下,如果想说按钮弹起时有另外一个动作要执行,这个时候需要怎么办?答:使用事件绑定当然在winform中由于事件就是写在后台的

iOS----MVVM模式

MVVM模式前言一、MVVM原理二、MVVM模式的通讯关系三、MVVM模式的优缺点前言提到MVVM框架我们很容易想到MVC框架,iOS中,我们使用的大部分都是MVC架构,虽然MVC的层次明确,但是由于功能日益的增加,代码的维护,更多的代码被写在了Controller中,这样Controller就显得非常臃肿。为了给Controller瘦身,减少ViewController的复杂性并使得表示逻辑更易于测试。后来又从MVC衍生出了一种新的架构模式MVVM架构一、MVVM原理Model-View-ViewModel是M-V-VM三部分组成,它本质上就是MVC的改进版。Model:指后端传递的数据(本

告别XML,Android新声明式UI框架《Jetpack Compose入门到精通》最全开发指南

什么是JetpackCompose?JetpackCompose是Android的新声明式UI框架。长期以来,Android开发人员习惯于使用带有状态视图的xml编写UI,这些状态视图通过逐步浏览视图层次结构进行更新。使用JetpackCompose,UI是通过使用KotinQ函数以无状态方式编写的。可组合函数使用注解进行@Composable注解。可组合函数必须使用此注解进行注解,通知编译器此函数将UI添加到ViewHierarchy。虽然Composable函数可以调用其他标准函数,但Composable本身只能从其他Composable调用。@Composable注解意味着什么?如果您已

Jetpack之ViewModel

1.介绍ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。Android框架可以管理界面控制器(如Activity和Fragment)(记住这个术语,后面分析时会出现)的生命周期。如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个Activity中包含用户列表。为配置更改重新创建Activity后,新Activity必须重新提取用户列表。对于简单的数据,Activity可以使用onSaveInstanceState()方法从onCreate()中的捆绑包恢复

C#中WPF实现依赖注入和MVVM,以及服务定位ServiceLocator

最近在想重写架构于是就研究了一套WPF的相关内容,WPF不像MAUI内置了容器,需要我们自己手动添加,于是就有了今天的内容。首先,我们新建一个.net6.0的WPF项目由于WPF没有内置容器,我们先安装一下依赖注入的nuget包Microsoft.Extensions.DependencyInjection点开App.xaml文件,修改为如下publicpartialclassApp:Application{//////Getsthecurrentinstanceinuse///publicnewstaticAppCurrent=>(App)Application.Current;}由于我们要

Android Jetpack架构组件(五)—ViewBinding和DataBinding

一、ViewBinding的使用1、ViewBinding简介视图绑定是一项功能,可让您更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中存在的每个XML布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有ID的所有视图的直接引用。在大多数情况下,视图绑定会替换findViewById。也就是说viewbinding能够给每一个布局绑定一个布局类,这样我们就不需要使用findViewById来获取对应的视图了,可以防止一些视图为空的情况导致的错误。2、ViewBinding使用1.首先在build.gradle中添加以下代码,Kotlin语言buildFeatures{

Android-Jetpack-ProcessLifecycIeOwner监听App的生命周期

图片来源网络在日常Android开发当中,我们肯定会遇到App的生命周期的需求。在lifecycle的扩展库当中有提供一个ProcessLifecycIeOwner帮我们实现对App的生命感知,这篇博客就来分享ProcessLifecycIeOwner的知识,希望对看文章的小伙伴有所启发。导入依赖这个类需要我们导入一个扩展库,依赖语句如下所示:implementation'androidx.lifecycle:lifecycle-extensions:2.2.0'使用代码示例1.创建一个AppObserver实现LifecycleObserver接口:importandroidx.lifecy

Lifecycle:生命周期感知型组件的基础 —— Jetpack 系列(1)

![](https://upload-images.jianshu.io/upload_images/10107787-73a05f1a2b48e740.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)>**请点赞,你的点赞对我意义重大,满足下我的虚荣心。**>>🔥**Hi,我是小彭。本文已收录到[GitHub·Android-NoteBook](https://github.com/pengxurui/Android-NoteBook)中。这里有Android进阶成长知识体系,有志同道合的朋友,跟我一起成长。**##前言-生命周期