- 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