草庐IT

kotlin协程

全部标签

Kotlin 教程(环境搭建)

KotlinIntelliJIDEA环境搭建IntelliJIDEA免费的社区版下载地址:DownloadIntelliJIDEA–TheLeadingJavaandKotlinIDE下载安装后,我们就可以使用该工具来创建项目,创建过程需要选择SDK,Kotlin与JDK1.6+一起使用。在右侧的下拉菜单中勾选Kotlin(Java)复选框。接下来我们取一个项目名:HelloWorld项目创建完后,文件结构如下,跟Java的还是很类似的。接下来我们点击src文件夹,创建一个Kotlin文件,它可以任意命名,这里我们创建app.kt接下来,我们在app.kt文件中写点代码。IntelliJIDE

Kotlin 云端差分缓存技术

本文由字节跳动Buildinfra团队出品。在我们的工程上线Monorepo全源码后,Kotlin编译成了整个编译中最耗时的步骤,全源码过程中大量的BuildCacheMiss导致我们的编译数据落后原来多仓二进制时代很多,且业界没有相关的解决方案。本篇文章我们来具体阐述下BuildInfra团队自研的解决方案-Kotlin云端差分方案的原理和技术实现。一、Monorepo中的噩梦在2022-2023年,我们的头部业务开始慢慢地从原来的多仓二进制模式,迁移到全新Monorepo方案。在多仓二进制时代,由于Maven的加持,大部分时候我们的都不需要直接编译代码,而是复用Maven的『缓存』。在工程

Android开发—入门Kotlin编程语言

一、Kotlin简介为什么Kotlin能代替Java此为Android官方第一支持的开发语言?1)Kotlin的语法更加简洁,对于同样的功能,使用Ktolin开发的代码量可能会比使用Java开发减少50%甚至更多;2)Kotlin语法更加高级,相比于Java比较老旧的语法,Kotlin增加了很多现代高级语言的语法特性,使得开发效率大大提升;3)Kotlin在语言安全性方面更强,几乎杜绝了空指针这个全球奔溃率最高的异常。Kotlin有一个最为重要的特性,那就是它和Java是100%兼容的。Kotlin可以直接调用使用Java编写的代码,也可以无缝使用Java第三方的开源库。二、如何运行Kotli

Android画布Canvas矩阵Matrix放大裁剪Rect区域的Bitmap,Kotlin

Android画布Canvas矩阵Matrix放大裁剪Rect区域的Bitmap,Kotlin  privatefunmydraw(){valoriginBmp=BitmapFactory.decodeResource(resources,R.mipmap.pic).copy(Bitmap.Config.ARGB_8888,true)valnewBmp=Bitmap.createBitmap(originBmp.width,originBmp.height,Bitmap.Config.ARGB_8888)valcanvas=Canvas(newBmp)//把原图绘制在画布Canvas//can

Android 使用Retrofit+协程实现超简单大文件下载并回显进度条

安卓自带的进度条弹窗过时了,这里简单创建一个进度条弹窗在drawable文件夹创建progress_dialog_bg_style.xml一个圆角白色背景样式创建alert_dialog_download_progress.xml布局创建弹窗工具类,使用刚才创建好的布局objectDialogUtil{/***下载进度条弹窗*/funshowDownloadProgress(context:Context,title:String?=null):AlertDialog=context.let{AlertDialog.Builder(it).create().apply{//设置点击dialog

Kotlin扩展函数与属性原理解析

一、扩展函数扩展函数可以方便地给现有类增加属性和方法而不改动类地代码。二、原理funString.addTo(s:String):String{returnthis+s}反编译:@Metadata(mv={1,6,0},k=2,d1={"\u0000\n\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\u001a\u0012\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0001¨\u0006\u0003"},d2={"addTo","","s"

安卓虚拟摄像头LSPosed kotlin

安卓虚拟摄像头基于Xposed的虚拟摄像头请勿用于任何非法用途,所有后果自负!!使用演示演示gif开发环境AndroidSDK34Xposed82xiaomi9MIUI11.0.3xiaomi8MIUI11.0.3酷比魔方50proMIUI14.0.5Lsposedlastest使用方法在Lsposed中勾选自己想要的播放平台在软件中选择自己想要播放的视频打开视频开关建议使用备选播放器,更加稳定注意事项视频播放需要与平台播放的格式相同,基本支持16:9的视频,例如:1920x1080,1280x720,854x480,640x360,426x240,256x144画面黑屏,相机启动失败,因为视

Go (一) 基础部分5 -- 单元测试,协程(goroutine),管道(channel)

一、单元测试Go自带一个轻量级的"测试框架testing"和自带的"gotest"命令来实现单元测试和性能测试。1.确保每个函数时可运行,并且运行结果是正确的。2.确保写出来的代码性能是好的。3.单元测试能及时的发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决。而性能测试的重点在于发现程序设计上的一些问题,让程序能够在高并发的情况下还能保持稳定。运用测试用例的指令:gotest:运行正确时,无日志,运行错误时,会输出日志。gotest-v:运行正确或者错误都会输出日志。1.1、单元测试的快速入门(判断一个函数的执行结果是否符合预期)1.测试用例文件必须以"_test.go"结尾

Kotlin 协程库v1.7.1的核心模块(kotlinx-coroutines-core)-- kotlinx.coroutines篇

目录asContextElement:asCoroutineDispatcher:jsasDeferred:asExecutor:jsasPromise:async:jsawait:awaitAll:awaitCancellation:cancelAndJoin:cancelChildren:CancellableContinuation:CancellationException:CloseableCoroutineDispatcher:CompletableDeferred:CompletableJob: completeWith: CompletionHandler:CoroutineD

Android kotlin build.gradle.kts配置

1.添加maven仓库1.1.settings配置1.1.1.settings.gradlerepositories{maven{url'https://maven.aliyun.com/repository/public/'}mavenCentral()}1.1.2.settings.gradle.ktsrepositories{maven{setUrl("https://maven.aliyun.com/repository/public/")}mavenCentral()}1.2.gradle配置1.2.1.build.gradleimplementation'com.github.bu