摘要: 我们都知道Activity可作为LifecycleOwner为LiveData的使用提供条件,那么Activity是如何实现LifecycleOwner的呢? Activity虽然实现了LifecycleOwner接口,但是并没有实现相关处理,而是通过添加一个Fragment来代理Lifecycle 阅读全文
posted @ 2022-01-07 16:16 Misdirection 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1、前言 本文将会通过具体的业务场景,由浅入深的引出Kotlin的一个bug,并告知大家这个bug的神奇之处,接着会带领大家去查找bug出现的原因,最后去规避这个bug。 2、bug复现 现实开发中,我们经常会有将Json字符串反序列化为一个对象问题,这里,我们用Gson来写一段反序列代码,如下: 阅读全文
posted @ 2022-01-06 14:51 Misdirection 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1、构造手机验证码:使用random对象生成要求的随机数作为验证码,例如4位验证码:1000~9999之间随机数; 2、使用接口向短信平台发送手机号和验证码数据,然后短信平台再把验证码发送到制定手机号上,接口参数一般包括:目标手机号,随机验证码(或包含失效时间),平台接口地址,平台口令; 3、保存接 阅读全文
posted @ 2021-12-30 17:33 Misdirection 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 本篇主要帮助剖析理解 Flutter 里的列表和滑动的组成,用比较通俗易懂的方式,从常见的 ListView到 NestedScrollView 的内部实现,帮助你更好理解和运用 Flutter 里的滑动列表。 「本篇不是教你如何使用 API ,而是一些日常开发中不常接触,但是很重要的内容」。 Fl 阅读全文
posted @ 2021-12-29 17:01 Misdirection 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 前言 平时喜欢看今日头条,上面的财经、科技和NBA栏目都很喜欢,无意中发现他的点赞动画还不错,一下子就吸引到了我。遂即想要不自己实现一下。 最终效果对比如下: 头条: 仿写效果: 一、导读 学习的过程中发现,每个知识点都是一个小小的体系。比如Glide源码解析,我看到有作者写了10篇文章一个系列来解 阅读全文
posted @ 2021-12-28 16:04 Misdirection 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 前言 在项目中我们常常继承AppCompatEditText或EditText自定义验证码输入框来代替系统输入框,以满足UI设计需求,如: 直线形输入框方形输入框 | |本文主要分析自定义验证码输入框过程中常被忽视的光标问题及个人的一点经验总结 onDraw方法一直被调用 我们在onDraw方法中添 阅读全文
posted @ 2021-12-27 16:01 Misdirection 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 由于后台返回统一数据结构,比如 code, data, message; 使用过 Retrofit 的同学一定定义过类似 BaseResponse 这种类,但是 BaseResponse 的处理逻辑都大同小异, 每次都写着实让人很烦,有没有什么好的方式解决这一痛点呢?本文讲介绍一种优雅的方式 来解决 阅读全文
posted @ 2021-12-26 14:14 Misdirection 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 起因 前些日子在网上看到了一个h5的比较炫的3D球体文字效果,感觉挺有意思,就准备在Android侧进行一下复现,废话少说,先看一下效果(gif看上去有些卡,实际不会) 核心原理 文字坐标 首先要做的就是为每个文字确定一个坐标,Android采用的是左手坐标系,而且我们的效果又是一个球体,所以我采用 阅读全文
posted @ 2021-12-25 14:37 Misdirection 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 一、背景 最近公司中的相册组件被业务方反馈了新问题,在 targetSdk=30 的 Android 10 手机上运行相册,缩略图会加载不出来,于是就开启了这次的趟坑之路。 定位问题 首先,我在相册Demo中把 targetSdk 设置到 30, 然后在 Android 10 测试机上运行,发现缩略 阅读全文
posted @ 2021-12-23 11:14 Misdirection 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 前言 说到 Android 启动优化,大家第一时间可能会想到异步加载。将耗时任务放到子线程加载,等到所有加载任务加载完成之后,再进入首页。 多线程异步加载方案确实是 ok 的。但如果遇到前后依赖的关系呢。比如任务2 依赖于任务 1,这时候要怎么解决呢。 最简单的方案是将任务1 丢到主线程加载,然后再 阅读全文
posted @ 2021-12-22 13:58 Misdirection 阅读(201) 评论(0) 推荐(0) 编辑