在上篇文章OkHttp源码之CacheInterceptor中,我们介绍了okhttp是如何使用缓存的,但没有涉及到缓存具体是如何保存到磁盘的,又是以何种形式保存的。今天我们...
在上篇文章OkHttp源码之CacheInterceptor中,我们介绍了okhttp是如何使用缓存的,但没有涉及到缓存具体是如何保存到磁盘的,又是以何种形式保存的。今天我们...
isolate Dart是基于单线程模型的语言。但是我们在开发中也会有请求网络这样的耗时操作,所以Dart也有并发机制,称为isolate。Dart中的isolate无法共享...
git config --global user.name "xxx"git config --global user.email "xxx"配置全局默认的用户信息git c...
变量 定义 dynamic和Object的区别dynamic:变量在运行时确定实际类型Object:变量在编译时确定实际类型,效率优于dynamic 默认值 Dart 中一切...
构建器 runBlocking 顶层函数非挂起函数返回T,Lambda表达值最后一行 阻塞当前线程,会等待所有其中包含的协程执行完毕 launch CoroutineScop...
1.Kotlin Flow 介绍 Flow是kotlin提供的一个工具,使用协程封装成生产者-消费者模式,上流来负责生产,下流来接收消耗。 翻译下就是:按顺序发出值并正常完成...
什么是作用域函数 当对一个对象调用某个函数并提供一个 lambda 表达式时,它会形成一个临时作用域。在此作用域中,可以访问该对象而无需其名称。这些函数称为作用域函数。 作用...
目录 1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5...
扩展 扩展方法 Kotlin支持扩展方法和扩展属性。语法:被扩展的类/接口名.方法名() 父类不能使用子类的扩展方法子类可以使用父类的扩展方法 当然,你也可以扩展系统的类,比...
方法 Kotlin 中方法和函数其实是统一的,但是我们这么理解区别:函数:直接定义在文件中的 fun。方法:定义在 class 中的 fun。 方法和函数一样,也是可以赋值给...
kotlin 版本升级到1.4.10,又会报 java.util.zip.ZipException: zip file is empty 这个错了
AOP在Android开发中的使用AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续...
单表达式函数 若函数只是返回单个表达式,则可以省略 { } 及 return,直接在 = 号后指定函数体即可。 具名参数 在传参给函数时,可以显式指定形参名称进行传递。 函数...
Kotlin 为数组添加了一个Array类,使用Array<T>来表示。 声明和创建 Array arrayOf(vararg elements: T): Array<T>声...