手写RxJava简易框架领悟RxJava的美秒 RxJava笔记 前言 看此篇之前最好知道RxJava的使用。由于RxJava内部源码实现有点复杂,既然用拆轮子的方式来分析源码比较难啃,不如换种方式,以造轮子的方式,将源码中与性能、兼容性、扩展性有关的代码剔除,只留下核心代码,加上我个人的理解,带大家揭秘RxJava的实现原理(本文不涉及框架的使用介绍)。 一、构建观察者类 Subsribler在RxJava里面是一个抽象类,它实现了Obs 移动开发 2025年05月23日 160 点赞 0 评论 16344 浏览
安装2024最新版Android Studio 最详细教程(带图展示) 一、安装JDK(1)首先在除C盘以外的盘建立文件夹,分别保存软件位置,JDK位置与SDK位置,特别注意:所有文件名中不要出现空格,而且每个文件夹都是为空的状态这里我是在D盘中操作。 (2)安装配置JDK,这里安装的是JDK17的版本,如果以前安装 移动开发 2025年05月07日 126 点赞 0 评论 16331 浏览
如何做好小程序评论优化 用户在决定要不要用一个小程序时,往往会参考其他用户的评分和评论。因此小程序评论优化是提升用户互动和口碑传播的关键环节。以下是一些针对小程序评论优化的具体策略:1. 优化评论区设计 确保用户能够轻松找到并访问评论区。可以在小程序的显眼位置设置评论入口,如页面底部或侧边栏。 优化评论输入框的用户体验,提供语音输入、表情符 移动开发 2025年05月03日 99 点赞 0 评论 16322 浏览
Android Jetpack系列之MVVM使用及封装 Android开发架构 如果开发过程中大家各自为战,没有统一规范,久而久之,项目代码会变得混乱且后续难以维护。当使用统一的架构模式后,有很多的好处,如: 统一开发规范,使得代码整洁、规范,后续易于维护及扩展 提高开发效率(尤其在团队人员较多时) 模块单一职责,使得模块专注自己内部(面向对象),模块间解耦 总之,开发架构是前人总结出来的一套行之有效的开发模式,目的是达到高内聚,低耦合的效果,使 移动开发 2025年04月20日 64 点赞 0 评论 16319 浏览
Spring Boot项目自定义启动Banner 一、什么是banner SpringBoot项目启动的时候会打印一个图案,这个图案就是所说的banner,默认的banner是像下面这个样子, 其实这个图案是可以改变的,可以用自定义的图案。 1.原版.PNG 二、自定义banner 首先在resource下面创建一个banner.txt文件,SpringBoot项目启动的时候会打印这个文件的内容,比如 2.自定义.PNG 移动开发 2025年09月19日 170 点赞 0 评论 16313 浏览
Android-推荐一个沉浸式状态栏开源库(ImmersionBar ) 图片来源网络,入侵必删 在日常的Android开发中,我们肯定遇到沉浸式的开发需求。在大多数项目当中,都会使用ImmersionBar开源库适配。这篇博客分享一下ImmersionBar相关的知识,希望对看文章的小伙伴有所帮助。 ImmersionBar依赖 mavenCentral版本: // 基础依赖包,必须要依赖 implementation 'com.geyifeng.imme 移动开发 2025年04月25日 179 点赞 0 评论 16304 浏览
节流 为什么要限制事件的频繁触发,以及如何做限制: 1.debounce 防抖 2.throttle 节流 今天重点讲讲节流的实现。 节流 节流的原理很简单: 如果你持续触发事件,每隔一段时间,只执行一次事件。 根据首次是否执行以及结束后是否执行,效果有所不同,实现的方式也有所不同。 我们用 leading 代表首次是否执行,trailing 代表结束后是否再执行一次。 关于节流的实现,有两种主流的实现 移动开发 2025年05月15日 79 点赞 0 评论 16298 浏览
LifeCycle详解 LifeCycle的由来 解耦是为了解决传统开发某块臃肿,以达到代码量平衡、优雅、易扩展。由于Android大部分开发需要感知组件的生命周期,在对应生命周期中做对应的工作,故原始的做法就是在Activity、Fragment、Service等生命周期回调中增加相应的处理代码,这样导致Activity等组件十分臃肿、难以做扩展。LifeCycle的出现就是在外面实现对这些组件生命周期的感知能力,减 移动开发 2025年07月06日 142 点赞 0 评论 16278 浏览
YYSegmentViewController 分页控制器的介绍 github地址: 一、页面介绍 YYSegmentConfig:配置文件 YYSegmentViewController:控制器 YYContainerScrollView:控制器view底部的ScrollView YYControllerPageView:控制器view的容器 YYSeg 移动开发 2025年06月13日 46 点赞 0 评论 16263 浏览
Android App封装 —— ViewBinding 项目搭建经历记录 Android App封装 ——架构(MVI + kotlin + Flow) Android App封装 —— ViewBinding Android App封装 —— DI框架 Hilt?Koin? 一、背景 在前面的Github wanandroid项目中可以看到,我获取控件对象还是用的findviewbyId button = findViewById(R.id.bu 移动开发 2025年08月15日 79 点赞 0 评论 16236 浏览