![](https://img-blog.csdnimg.cn/8ab218a1238449409e0174e67e1910e0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android
文章平均质量分 87
Android相关
快乐二狗呀
快乐二狗呀
展开
-
「Jetpack - Paging3使用」
「Jetpack - Paging3使用」一、前言Paging3,分页加载库,基于Paging2的基础上做了很大的改动,可以说完全是两个库,刚好现有的项目也用到了Paging2,可以说是痛并快乐着。而Paging3依然没有处理呼声最高的两个“需求”:局部增删的实现。当然到第三个版本仍然没有改动,Google肯定是有着自己的思考,这里是IssueTracker。二、Paging优势内置对错误处理功能,重试、刷新等。对Kotlin协程和流Flow提供了一流的支持。对于结合RecyclerView使原创 2022-03-10 17:30:13 · 3416 阅读 · 0 评论 -
[LiveData - SingleEvent单次消费]
[LiveData - SingleEvent单次消费]一、LiveData单次消费在整理Jetpack Hilt依赖注入时,发现了架构组件项目中对LiveData事件做单次处理时从设计模式层面给出了相应的处理方式,记录一下。后期还是建议切换到Flow上面。/* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"翻译 2022-03-02 10:29:12 · 319 阅读 · 0 评论 -
「Android基于MQTT实现消息通知」
「Android基于MQTT实现消息通知」一、写在前面在对接项目中IoT时,发现目前有对MQTT做了接入,这里记录一下,官方的资料比较详细,这里主要从实现细节出发;对具体的需求以及配套的技术方案进行整理,以供参考。一、IoT与MQTT提到IoT(Internet of Things)、IIoT(Industrial IoT )不得不说MQTT,其被广泛的应用在物联网以及工业物联网之中,是一种消息传递协议。不同于我们所认识的平时常见的一些智能设备,如手机、电脑、平板等;这些设备一般都有着很好的计算能力原创 2022-03-01 18:54:46 · 7742 阅读 · 0 评论 -
「Android - SoundPool使用」
HandlerThread配合SoundPool拼接语音文件播放,如金额提示音。原创 2022-02-25 19:47:02 · 2359 阅读 · 0 评论 -
「Jetpack - Hilt依赖注入」
「Jetpack - Hilt依赖注入」一、控制反转原则谈到依赖注入,不得不提控制反转IoC,那么什么是IoC?简单的说Inversion of Control是面向对象编程中的一种原则、思想,其主要目的是为了降低模块与模块之间的耦合;通过第三方或者容器将模块之间的依赖关系解耦。以汽车Car为例,汽车离不开引擎Engine,那么通常的实现方法可以是这样:class Car { private val engine = Engine() fun start() { en原创 2022-02-21 19:51:07 · 1429 阅读 · 0 评论 -
「Jetpack - LiveData解析」
「Jetpack - LiveData解析」一、概览LiveData-属于Android Jetpack的一部分,是一种可观察的数据存储容器类。它的强大之处在于其具有生命周期感知能力,也不会发生内存泄漏问题。当然现在如果可以还是建议转化到Kotlin的Flow,谷歌虽然没有明确表示放弃LiveData,但是Kotlin毕竟是趋势。使用LiveData还是具有一些优势的:LiveData具有生命周期感知能力,不需要手动管理生命周期。数据驱动模型,由数据来驱动UI的变更。生命周期自动感知,可以原创 2022-02-14 17:51:52 · 1249 阅读 · 0 评论 -
「Jetpack-ViewModel」
「Jetpack-ViewModel」一、概览ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据,并且即使在屏幕发声旋转等配置更改后依然可以继续保留数据。ViewModel is a class that is responsible for preparing and managing the data for an Activity or a Fragment. It also handles the communication of the Activity / Fragme原创 2022-02-09 09:05:10 · 128 阅读 · 0 评论 -
「Jetpack - Lifecycle梳理」
「Jetpack - Lifecycle梳理」一、写在前面谷歌推出Jetpack系列已经有一段时间了,作为AAC(Android Architecture Components)架构组件基础,使开发的过程越来越规范化,遵循谷歌推荐的最佳做法不仅使App更加健壮;体验更优。代码层面更加简洁(Jetpack内部帮我们处理了很多)优雅,消除了冗余的样板代码。关于Jetpack系列的解析,大佬们输出了很多优秀的文章。学到了很多,这里还是自己系统的梳理一遍,构建自己的知识体系,包括LiveData、ViewM原创 2022-02-06 00:23:15 · 1277 阅读 · 0 评论 -
「带着问题看Handler」
重读Handler机制原创 2022-01-20 19:37:26 · 2003 阅读 · 0 评论 -
「Android 事件分发机制」
「Android 事件分发机制」一、事件分发机制在Android体系中,事件分发机制占有重要的一份,了解事件的分发机制,对于滑动等冲突才有更深刻的理解。自定义View中能更好的扩展,遇到相关问题能从整个流程上思考,寻找最优解决办法。一个简单的点击事件是怎样一步步被消费处理的呢?谁该处理,谁不该处理又是由什么因素决定的,这是在实际开发中绕不开的问题,尤其是在自定义View的应用场景下。先上图,从整体上大致了解事件是怎样被传递与消费的:二、从Activity开始分析一个最简单的初始页面,原创 2022-01-28 16:58:38 · 2073 阅读 · 0 评论 -
「ThreadLocal简单解析」
「ThreadLocal简单解析」一. ThreadLocal有何作用?ThreadLocal为线程提供了独有的局部变量,每个线程私有。在Android的Handler消息机制中就使用到了ThreadLocal,而平时开发过程中,使用的场景并不是很多,主要可以实现:存储线程的信息如id,线程特有的变量信息等(线程私有避免了并发不安全问题)。源码中的定义:/** * This class provides thread-local variables. These variables diffe原创 2022-01-18 00:24:23 · 295 阅读 · 0 评论