![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin
文章平均质量分 78
翻滚吧章鱼
名不显时心不朽,再挑灯火看文章。
展开
-
Kotlin 系列之Flow (三)执行顺序
Kotlin 系列之Flow (三)执行顺序Hello I`am Flow Welcome to Flow Unit 3这次来聊聊,Flow 的执行顺序 与 执行优化Flow 的执行顺序对于Flow的收集操作来说 ,他是运行在调用终止操作的那个协程上,默认情况下 它是不会启动新的协程。每发射一次 emit 发射的元素都会 经历所有的中间操作,最后在 终止操作被处理。(MD 就是从上到下走一遍)Examplefun main() = runBlocking { (1..3).as原创 2021-09-05 13:00:29 · 916 阅读 · 0 评论 -
Kotlin 系列 之 Flow(二)中间运算符
Kotlin 系列 之 Flow(二) 中间运算符Hello I`am Flow ,Welcome to Flow Unit 2说到 中间运算符 ,用过 RxJava 的同学可能会想,难道是命运的安排 ?我想说:这就是命啊!~ 他两的关系就是 (PX剑谱 和 KH宝典)PS:Flow 的中间 运算符内的代码块 是可以 调用挂起函数的Example 1 (耳熟能详的 map 、filter)map :对结果进行加工后继续向后传递filter : 对待操作的值 进行过滤private原创 2021-09-04 13:40:42 · 568 阅读 · 0 评论 -
Kotlin 系列 之 Flow (一)
Kotlin 系列 之 Flow (一)Hello I`am Flow , 一看到 Flow 就会很自觉的将它跟 【线程 同步 异步 阻塞】 …巴拉巴拉联系到一起我想说,这就对了!所以在介绍Flow 之前,先来参观一下我们之前的撸码场景:Example 1一次性返回 所有结果,阻塞线程 ,如果List 中的每个元素都需要很长时间,或者List很长的话。。。 (脑补上厕所pang guang炸裂~)差评!private fun myMethod() : List<String>原创 2021-08-30 21:45:12 · 624 阅读 · 1 评论 -
Kotlin 中 let、with、run、apply ‘标准函数 ’ 和 ‘ 静态方法 ’ 的使用
本文会介绍 部分 标准函数 和 静态方法 的使用,算是kotlin的一些高级小技巧,走起来~~一、let、with、run、applylet它主要是结合 ’ ?. ’ 进行判空的辅助,例如: var userBean:UserBean ?= null userBean?.let { //如果userBean为空,let空间的代码就不会执行了 println(it.name) }with它主要的对代码 进行一些精简的作用,比如我们要使用一个对的对象的方法.原创 2020-10-17 22:34:40 · 266 阅读 · 3 评论 -
Okhttp 的核心方法 getResponseWithInterceptorChain()(三)
Okhttp 的核心方法 getResponseWithInterceptorChain()(四)了解这个方法,以及它内部调用的方法,我们就能知道 OKHttp 是怎样完成了 Http 的工作 和 OkHttp整个网络请求/响应过程中都做了什么事情。getResponseWithInterceptorChain() 方法在 RealCall 的 内部类 AsyncCall(AsyncCall实现了 Runnable) 的 run 方法中 其内部维护了一个,Interceptor (雁过插毛器原创 2020-08-27 17:14:58 · 425 阅读 · 0 评论 -
Android 视频播放器(一) 使用 MediaPlayer
Android 视频播放器(一) 使用 MediaPlayer本文使用Kotlin 编码(提高一下Kotlin的熟悉度 _!),使用 MediaPlayer 结合 Lifecycler ViewModle,完成视频播放的横竖屏切换,状态UI的隐藏话不多少,上代码编写 ViewModel ,在 ViewModel 中完成对视频的 【准备工作监听】,【尺寸变化的监听】PlayerViewModel.ktclass PlayerViewModel:ViewModel(){ va原创 2020-07-24 14:07:12 · 1758 阅读 · 2 评论 -
Android 动画之 Motion Editor / SVGA / Lottie
Android 动画 SVGA 、 Lottie 与 Motion Editor目前在直播时,我们会看到很多非常 酷炫的动画,通常会使用 Lottie 或者 SVGA 格式输出。Lottie 、 SVGA是对图片内容进行动画;两种各有优劣,lottie包含图片会很大,但能够在mac上支持ae的图层颜色渐变(svga不支持)(1) 相关的网站用过的都说好,SVGA官网:https://svga.io/index.html图片压缩网站:https://tinypng.com/原创 2020-06-30 16:30:53 · 1728 阅读 · 0 评论 -
AndroidX 之 使用WorkManager 解决后台任务
Android WorkManager使用 WorkManager Api 可以轻松的调度即使在应用退出或者设备重启时仍应运行的可延迟一步任务用统一的方法解决绝大部分后台问题[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uAZ8utmM-1593253767829)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\image-20200624181222641.png)]一、使用引入 impleme原创 2020-06-27 18:30:30 · 2418 阅读 · 0 评论 -
Kotlin 高阶函数,匿名函数,Lambda
Kotlin 高阶函数 / 匿名函数 / Lambda高阶函数 / 匿名函数 / Lambda高阶函数 : 参数类型 或者 返回值 为 函数类型的函数 ,就称作 高阶函数。匿名函数: 函数类型的对象,可以作为参数传递, 它它它!不是函数 注意Lambda:同理 也是一个函数类型的对象PS:怎么使用"::" 加 函数 => ‘::’ 标示函数引用,会拿到一个 函数的对象 ;注意不是函数本身!就怎么使用 匿名函数,就怎么使用 Lambda示例代码记录1. b 函原创 2020-05-29 16:20:20 · 386 阅读 · 0 评论 -
Kotlin 协程 ‘素质双连’
Kotlin 协程 ‘素质双连’第一弹、基本使用 与 基本原理先上示例val repos = api.listRepos("getUserInfo") //后台线程textView.text=repos[0].name // 前台线程使用上下两行的连续调用的方式 SO 酷!sAndroid 下引入:implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0-M2'implementation "org.jet原创 2020-05-29 14:57:46 · 245 阅读 · 0 评论 -
Kotlin 扩展属性、扩展函数
Kotlin ---- 扩展属性、扩展函数在原有类的基础上,增加功能,及不用改源码,也不用写子类!简单的示例扩展属性val Float.dpTOpx get()= TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP,this, Resources.getSystem().displayMetrics)val Float.pxTOdpget() = this/Resources.getSys原创 2020-05-17 19:43:02 · 574 阅读 · 0 评论