Kotlin WorkManager使用方法详解
目录 WorkMananger的简介 WorkManager的基本用法 使用WorkManager处理复杂的任务 链式任务 WorkMananger的简介 Google推出WorkManager组件,WorkManager很适合用于处理一些要求定时执行的任务,它可以根据操作系统的版本自动选 »
目录 WorkMananger的简介 WorkManager的基本用法 使用WorkManager处理复杂的任务 链式任务 WorkMananger的简介 Google推出WorkManager组件,WorkManager很适合用于处理一些要求定时执行的任务,它可以根据操作系统的版本自动选 »
目录 1.Fragment的介绍 2.静态加载 3.动态加载 1.Fragment的介绍 Android在3.0版本引入了Fragment功能,它非常类似于Activity,可以像Activity一样包含布局。 它出现的初衷是为了适应大屏幕的平板电脑,使用Fragment我们可以把屏幕划 »
我们在Kotlin中就多次使用A to B这样的语法结构构建键值对,包括Kotlin自带的mapOf()函数,这种语法结构的优点是可读性强。那么这种功能是怎么实现的?to是不是Kotlin语言中的一个关键字?本章我们来对这个功能进行解密。 首先,to并不是Kotlin语言中的一个关键字,之所以我们 »
目录 1.协程的基本用法 2.更多的作用域构建器 3.使用协程简化回调的写法 协程属于Kotlin中非常有特色的一项技术,因为大部分编程语言中是没有协程这个概念的。那么什么是协程呢?它其实和线程有点相似,可以简单地将它理解成一种轻量级的线程。我们之前学习的线程是重量级的,它需要依靠操作系统的调 »
目录 聊一聊kotlin协程“低级”api startCoroutine ContinuationInterceptor 实战 kotlin协程api中的 async await 通过startCoroutine与ContinuationInterceptor实现自定义的 async await »
目录 Kotlin协程是什么 suspend是什么 总结 Kotlin协程是什么 本文只是自己经过研究后,对 Kotlin 协程的理解概括,如有偏差,还请斧正。 简要概括: 协程是 Kotlin 提供的一套线程 API 框架,可以很方便的做线程切换。 而且在不用关心线程调度的情况下,能 »
目录 正文 一、 匿名内部类 二、单例模式 三、伴生对象 1、深入分析伴生对象 2、用伴生对象实现工厂模式 3、用伴生对象实现单例模式 (1)、借助懒加载委托 (2)、伴生对象 Double Check (3)、抽象类模板 正文 object 关键字有三种不同的语义:匿名内部类 »
原文:JavaFx 页面和控件设置快捷键 - Stars-One的杂货小窝 之前说过一篇window系统全局快捷键的设置,本期主要是讲解JavaFx应用程序的快捷键设置,还是有所区别的 这里主要是Tornadofx为例进行讲解,以Kotlin语言为例,由于比较简单,就不贴截图了,下面例子都是自己测试 ... »
目录 集合操作函数 和 序列 序列中间和末端操作 创建序列 总结 集合操作函数 和 序列 在了解 Kotlin 惰性集合之前,先看一下 Koltin 标注库中的一些集合操作函数。 定义一个数据模型 Person 和 Book 类: data class Person(val nam »
目录 结论先行 Channel使用示例 Channel的源码 安全的从Channel中取数据 “热的数据流”从何而来? Channel能力的来源 结论先行 Kotlin协程中的Channel用于处理多个数据组合的流,随用随取,时刻准备着,就像自来水一样,打开开关就有水了。 Ch »
目录 一. 概念介绍 1. 序列化 2. 反序列化 3. 实现序列化的条件 二. 序列化目的 三. 如何选择 四. 进入主题 一. 概念介绍 1. 序列化 由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这 »
目录 正文 1.什么是CPS转换 2.CPS的过程是怎么让参数改变的 3.CPS的过程是怎么让返回值改变的 4.挂起函数的反编译 5.非挂起函数的分析 正文 普通函数加上suspend之后就成为了一个挂起函数,Kotlin编译器会将这个挂起函数转换成了带有参数Continuation& »
目录 1.注解 1.定义 2.注解的创建 3.注解的使用 2.反射 1.定义 2.反射的应用 1.注解 1.定义 注解是将元数据附加到代码的地方。从字面意思理解它就是对知识点的补充,一种描述。在Java中最常见的注解就是@Override或者就是Retrofit中的@GE »
目录 1.object:匿名内部类 2.object: 伴生对象 3.单例模式 1.object:匿名内部类 在Android最常用的匿名内部类之一就是点击事件,用Java语言写的话就是下面这样: public interface OnClickListener { voi »
目录 1.Java的空安全处理 2.Kotlin的空安全思维 1.Kotlin的空安全表示方式 2.Kotlin与Java混编的空安全 3.Kotlin的空安全——非空断言 4.Kotlin的空安全——泛型可空性 1.Java的空安全处理 在Java中有@NotNull、@Nu »
目录 1.launch启动协程 2.runBlocking启动协程 3.async启动协程 1.launch启动协程 fun main() = runBlocking { launch { delay(1000L) println("W »
目录 1.Context的应用 2.万物皆有 Context 1.CoroutineScope 2.Job 3.Dispatcher 4.CoroutineExceptionHandler 1.Context的应用 Context在启动协程模式中就已经遇到过叫CoroutineCont »
目录 正文 1.认识Channel 2.Channel使用中的细节 3.Channe的特点 正文 在协程启动模式中已经知道async是可以返回结果的,但是只返回一个,那么在复杂场景下就会不够用了,所以Channel就出现了。 1.认识Channel Channel的意思是管道 »
目录 1.launch启动流程 2.协程是如何被启动的 1.launch启动流程 已知协程的启动方式之一是Globalscope.launch,那么Globalscope.launch的流程是怎样的呢,直接进入launch的源码开始看起。 fun main() { corout »
目录 1.Job的生命周期 2.Deffered 3.Job与结构化并发 4.launch和async的使用场景 前面在学习协程启动方式的时候在launch的源码中有一个返回值是Job,async的返回Deferred也是实现了Job,那么而也就是说launch和async在创建一个协程的时候 »