takeIf 相当于Java的if判断语句,当为true时就会执行后续代码 takeUnless 跟takeIf类似,不同的是当为false时就会执行后续代码
takeIf 相当于Java的if判断语句,当为true时就会执行后续代码 takeUnless 跟takeIf类似,不同的是当为false时就会执行后续代码
const通常用来在companion object中修饰常量,类似JAVA的static final,如: inner函数用来修饰内部类 扩展函数含义:扩展函数表示即使在不...
lateinit关键字表示告诉编译器,我会晚些时候对这个变量进行初始化,通常用于代码中有越来越多的全局变量时,为了不让代码进行许多的非空判断,我们可以加上此关键字,同时我们自...
?.操作符表示非空判断 ?:操作符左右两端接收一个表达式,如果左边不为空返回左边值,反之返回右边 !!操作符表示非空断言,告诉编译器我这个值不会是null ${}操作符允许我...
kotlin函数式API:1.map它用于将集合中的元素映射成一个另外的值,映射的规则在Lambda表达式中指定,最终生成一个新的集合,例如把集合里面所有字段变成大写: 2....
listOf()表示一个不可变的集合,比如val list = listOf("java","kotlin"),只能读取,不能添加,修改或者删除操作 mutableListO...
internal 关键字修饰符表示当前函数只允许当前模块使用。 constructor 关键字表示类的次构造函数,次构造函数可以有多个,并且也可以实例化一个类,他是有函数体的...
支持多个module间跳转吗?
探索Android路由框架-ARouter之基本使用(一)本文已独家授权 郭霖 ( guolin_blog) 公众号发布! 本文意在快速集成并掌握阿里Android技术团队开源的一款路由框架。这款路由框架可以为我们的应用开发提供更...
普通蓝牙设备官方文档 Android 平台包含蓝牙网络堆栈支持,凭借此支持,设备能以无线方式与其他蓝牙设备交换数据。应用框架提供了通过 Android Bluetooth A...
前言 今天来介绍一下Android 里面常用的集合以及各自的特性 Collection Collection是接口,List和Set都实现了Collection接口,基本需要...
这网络缓存不叫网络缓存吧,就看到这里去网络下载的
Android中图片的三级缓存为什么要使用三级缓存 如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当...
加入到pendingRequests什么时候执行这个队列的请求呢?
Glide(二)Request队列管理入口 上篇总结了下Glide利用fm和一个空Fragment 进行生命周期的管理,这里继续看load & into。不多说,上代码 1.1 load 2.1 into 2.2...
使用线程池的好处可以归纳为3点: 重用线程池中的线程, 避免因为线程的创建和销毁所带来的性能开销. 有效控制线程池中的最大并发数,避免大量线程之间因为相互抢占系统资源而导致的...
说到Java并发编程,很多开发第一个想到同时也是经常常用的肯定是Synchronized,但是小编这里提出一个问题,Synchronized存在明显的一个性能问题就是读与读之...
原文:https://blog.csdn.net/nbsp22/article/details/80666592 下面来看在Glide中最简单的图片加载代码 这应该是相对比较...
目录 1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5...
在gradle.properties文件里面添加 android.injected.testOnly=false,如果没有gradle.properties文件那就新建一个