在 Android 中,你可以通过定义自定义的动画资源并在启动和结束 Activity 时应用这些动画,实现类似对...[作者空间]
object关键字实现单例模式 在 Kotlin 中实现单例模式非常简单,因为它提供了 object 关键字,可以...[作者空间]
提交对象 一般我们平时有了需要提交的文件,都是2步走:add,然后commit add操作 第一步:添加文件 这一...[作者空间]
网络通信基础 socket socket是应用层与TCP/IP协议族通信的中间软件抽象,操作系统把传输层一下的内容...[作者空间]
协程是什么? 协程是线程吗?是线程池的线程?是轻量级的线程? 实际上,可以非常肯定的说,协程不是线程! 我们反过来想,如果协程是线程,那么咱们怎么让一个线程挂起呢? 那既然协...[作者空间]
ViewModel 和 LiveData 是 Android Jetpack 组件库中的两个核心组件,它们能帮助开发者更有效地管理 UI 相关的数据,并且能够在配置变更(如屏...[作者空间]
Kotlin自2017年起被Google正式宣布为Android的编程语言之一,随后在2019年进一步宣布Kotlin为Android的首选语言,普及速度逐渐加快,越来越多的...[作者空间]
扩展函数 扩展可以在不直接修改类定义的情况下增加类功能 扩展可以用于自定义类,也可以用于标准函数 和继承相似,扩展也能共享类行为,在无法接触某个类定义,或者某个类没有使用op...[作者空间]
定义BindingAdapter 布局里处理 activity里传入图片的链接 BindingAdapter中同时...[作者空间]
互操作性和可空性 要注意Java中所有类型都是可空的 String!表示平台数据类型 类型映射 kotlin代码运行时,所有的映射类型都会重新映射回对应得Java类型 属性访...[作者空间]
多路复用 await 多路复用 两个API分别从网络和本地缓存取数据,期望哪个先返回就先用哪个 select会返回最先返回的Response 多路复用channel 哪些事件...[作者空间]
前言 很多APP都需要支付功能,国内一般就是支付宝和微信了。目前这2种接入方式对于APP端来说都已经比较方便了,因为大部分的安全校验之类的逻辑都在服务端。 APP端总结起来就...[作者空间]
View的三大流程指的是measure(测量)、layout(布局)、draw(绘制)。 下面我们来分别看看这三大流程 View的measure(测量) MeasureSpe...[作者空间]
于冷流不同,在垃圾回收之前,flow里的值都是存在内存之中,并且处于活跃状态 StateFlow StateFlow是一个状态容器式可观察数据流,可以向其收集器发出当前状态更...[作者空间]
用继承View的方式来自定义View,我们就需要重写onDraw方法,也就是得咱自己来画图了。画图就得用到画笔和画布,也就是Paint和Canvas。我们来了解下Canvas...[作者空间]
自定义View的分类 继承View重写onDraw方法 主要用于实现不规则的效果,即这种效果不方便通过布局的组合方式来实现。相当于就是得自己“画”了。采用这种方式需要自己支持...[作者空间]
我们在自定义View时免不了要使用invalidate方法,这个方法的作用大家也比较清楚,就是让我们的View进行刷新重新绘制的。但是postInvalidate方法可能就不...[作者空间]
返回多个值 通过Flow异步返回多个值 Flow与其他方式的区别 名为flow的是Flow类型构建器函数 flow{...}构建块中的代码可以挂起 函数simpleFlow不...[作者空间]
定义 协程基于线程,是轻量级的线程 作用 处理耗时任务,这种任务常常会阻塞主线程 保证主线程安全,即确保安全地从主线程调用任何suspend函数 特点 让异步逻辑同步化 最核...[作者空间]
上下文是什么 CoroutineContext是一组用于定义协程行为的元素,包括以下几部分: Job:控制协程的生命周期 CoroutineDispatcher:向合适的线程...[作者空间]