- 2024-10-22Jetpack架构组件_LiveData组件
1.LiveData初识LiveData:ViewModel管理要展示的数据(VM层类似于原MVP中的P层),处理业务逻辑,比如调用服务器的登陆接口业务。通过LiveData观察者模式,只要数据的值发生了改变,就会自动通知VIEW层,View层会设置观察者来监听数据的改变。MVP:P调用M层去获取数据,P回调View层实现的接口,
- 2024-10-10Jetpack-ViewModel+LiveData+DataBinding
1.ViewModel解决问题:瞬态数据丢失异步调用内存泄漏类膨胀提高维护难度和测试难度作用:介于View视图和Model数据模型之间桥梁使视图和数据能够分离,也能保持通信publicclassMainActivityextendsAppCompatActivity{privateTextViewtextView;privateMy
- 2024-08-22Jetpack业务架构—四件套(Lifecycle、ViewModel、LiveData、DataBinding)
Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。1. AndroidJetpack组件的优势: Jetpack推出的主要目的是为了能够
- 2024-07-10Kotlin小技巧之用Transformations.map方法转换LiveData
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点在Kotlin中,transformations.map是用于将一个LiveData的数据进行转换的拓展函数,它属于AndroidArchitectureComponents中的LiveData转换部分。这个函数允许你
- 2024-05-31RxJava和LiveData两者优缺点的详细分析
RxJava和LiveData两者优缺点的详细分析RxJava和LiveData都是用于处理异步数据流的工具,但它们各自有不同的特点和适用场景。下面是对两者优缺点的详细分析以及如何选择和使用的建议:RxJava优点:功能强大:RxJava提供了丰富的操作符,能够轻松实现复杂的数据流操作。灵活性高:可以用
- 2023-11-23Android 混淆打包后gson报错Missing type parameter
原文:Android混淆打包后gson报错Missingtypeparameter-Stars-One的杂货小窝记录一个简单的bug在代码中使用了gson将json转为list:valjson=""valplanList=gson.fromJson<List<PrayerPlan>>(json,object:TypeToken<List<PrayerPlan>>(){}.type)然后线上的时候
- 2023-11-10一文快速实战Kotlin协程与Flow
前言不知道大家有没有跟我一样的感受:即使自己用心在网上学过协程和Flow了,但过了一段时间就又忘掉了。这大部分的原因其实是因为我们缺少实战。我平时工作里根本就接触不到协程和Flow,自己又不敢硬往上写,万一出问题了咋整?所以一直就处于理论学习阶段,导致我学了就跟没学一样。今天就带
- 2023-11-07如何看待Android的Jetpack这一系列库?
如何看待Android的Jetpack这一系列库?随着移动领域的飞速发展,越来越多的工程师开始追求更高效率更便捷的开发模式,各种框架架构层出不穷,比如我们很熟悉的MVC、MVP、MVVM,而每种开发模式都有各自的优缺点,为了统一开发规范,Google推出了Jetpack。Jetpack是一个由多个库组成的套件,可帮助
- 2023-08-11简单介绍LiveData、ViewModel以及使用二者封装一个简单的基类用于测试
一、概述1.LiveData概述什么事LiveData?1.LiveData是一种可观察的数据存储器类2.LiveData是一个数据持有者,给源数据包装一层。3.源数据使用LiveData包装后,可以被observer观察,数据有更新时observer可感知。4.但observer的感知,只发生在(Activity/Fragment
- 2023-08-10LiveData的用法
一.实时数据LiveData在上一节中,我们学习了ViewModel,了解到ViewModel的主要作用是存放页面所需要的各种数据。我们在示例代码中定义了接口,当数据发生变化的时候,采用接口的方式实现对页面的通知。但是这种方式是有缺陷的,当要存储的数据非常多的时候,就要定义大量的接口,代码会显
- 2023-07-16SavedStateHandle的介绍----ViewModel不具备保存状态数据的功能
LiveData本身不能在进程销毁中存活,当内存不足时,Activity被系统杀死,ViewModel本身也会被销毁。为了保存LiveData的数据,使用SavedStateHandle。事故场景:进程销毁后,重新去通过ViewModel去获取LiveData数据,获取到的数据是null。这表示ViewModel不具备onSavedInstance的功能。
- 2023-07-15Transform LiveData
查询资料的其中一个场景:创建一个回调函数,当查询后台的时候,后台有结果了,回调对应的回调函数,并将结果保存到LiveData中。publicclassDataModel{ ... publicMutableLiveData<List<Repo>>searchRepo(Stringquery){ finalMutableLiveData<
- 2023-07-08Android架构组件LiveData
LiveDataLiveData是基于观察者模式创建的,其中,LiveData是被观察者,观察者通过注册方法,监听被观察者的数据变化。LiveData在数据发生变化的时候,会通知观察者。LiveData是一个容器,存放数据的容器,它的数据变化可以被监听,也就是LiveData是一个被观察者,如下,创建了一个存放String的数据
- 2023-06-22Databinding+LiveData轻松实现无重启换肤
最近项目需要用到无重启动态换肤功能,本来打算用github上star最多的Android-skin-support但仔细一看发现太复杂而且2年没维护+大量issues没解决,最终放弃经过探索,发现Databinding+LiveData能低成本实现无重启换肤无重启动态换肤(不需要recreate())无需制作皮肤包无额外依赖(Databi
- 2023-05-02Android JetPack~LiveData(二) 数据倒灌问题
Android数据绑定技术一,企业级开发Android数据绑定技术二,企业级开发Android JetPack~DataBinding(数据绑定)(一) 集成与使用Android JetPack~LiveData(一) 介绍与使用AndroidJetPack~LiveData(二)数据倒灌问题Android JetPack~ViewModel(一) 介绍与
- 2023-04-29【Jetpack】ViewModel + LiveData + DataBinding 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )
文章目录一、ViewModel+LiveData+DataBinding核心要点1、ViewModel使用要点2、LiveData使用要点3、DataBinding使用要点二、ViewModel+LiveData+DataBinding代码示例1、ViewModel+LiveData代码2、build.gradle构建脚本-启用DataBinding3、DataBinding布局文
- 2023-04-23Livedata+viewmodel+Fragment
title:LiveDataviewmodel实现Fragment间的通信使用ViewModel+LiveData实现同一个Activity不同Fragment间的通信。1.将两个Fragment等比例放置在Activity的布局文件中。<?xmlversion="1.0"encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:an
- 2023-04-09Android LiveData Transformations怎么使用
AndroidLiveDataTransformations是LiveData库中的一个类,它提供了一些便捷的方法来转换LiveData的数据。使用LiveDataTransformations需要在项目的build.gradle文件中添加以下依赖项: implementation'androidx.lifecycle:lifecycle-extensions:2.2.0'接下来可以在Vi
- 2023-04-04Jetpack—LiveData组件的缺陷以及应对策略
一、前言为了解决Android-App开发以来一直存在的架构设计混乱的问题,谷歌推出了Jetpack-MVVM的全家桶解决方案。作为整个解决方案的核心-LiveData,以其生命周期安全,内存安全等优点,甚至有逐步取代EventBus,RxJava作为Android端状态分发组件的趋势。官网商城app团队在深度使用LiveData的
- 2023-02-15Android JetPack~ LiveData (一) 介绍与使用
一般情况下LiveData都是搭配这ViewModel使用,这里先介绍一下LiveData,再结合ViewModel使用Android数据绑定技术一,企业级开发Android数据绑定技术二,企业级开发Androi
- 2022-12-10由浅入深,详解 LiveData 的那些事
引言关于LiveData,在2022尾声的今天,从事Android开发的小伙伴一定不会陌生。相应的,关于LiveData解析与使用的文章更是数不胜数,其中不乏优秀
- 2022-12-10由浅入深,详解 LiveData 的那些事
引言关于LiveData,在2022尾声的今天,从事Android开发的小伙伴一定不会陌生。相应的,关于LiveData解析与使用的文章更是数不胜数,其中不乏优秀
- 2022-08-20Compose和AndroidView的交互
1、在ComposeUI中加载AndroidView控件Compose中可以加载AndroidView还是比较简单的,直接引入AndroidView来加载AndroidView布局文件。@ComposablefunGreetin