草庐IT

Kotlin-script

全部标签

Kotlin 协程与生命周期感知组件一起使用

一、build.gradle引入//CoroutineScope生命周期感知组件协程implementation'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'implementation'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0'implementation'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'二、ViewModelScope应用中的每一个ViewModel都定义了ViewModelScope。如果ViewModel已清除,则在此

Kotlin判断null比较let布尔值Boolean

Kotlin判断null比较let布尔值BooleanclassMyData{valcount:Int?=2023valnumber:Int?=null}funmain(args:Array){valdata=MyData()valyear=2022if(data.count!=null){if(data.count>year){println("data.count!=null")}}if(data.count!!>year){println("data.count!!")}varb1=data.count?.let{it>2022}?:falseprintln(b1)varb2=data.

Kotlin全方位-简单解析

Kotlin是一种现代化的静态类型编程语言,由JetBrains公司开发。它可以在Java虚拟机(JVM)上运行,并且可以与Java代码无缝地进行互操作。Kotlin旨在提供更简洁、更安全、更具表达力和更高效的编程语言。Kotlin主要运用Android开发:Kotlin被广泛用于Android应用程序的开发。它可以与Java代码互操作,提供了许多方便的功能和语法糖,使得开发更加简洁和高效。后端开发:Kotlin可以用于构建服务器端应用程序。它可以与Java框架(如Spring)无缝集成,并且提供了一些特性来简化后端开发,如空安全、扩展函数等。前端开发:Kotlin可以通过Kotlin/JS编

Kotlin学习之密封类

Kotlin中的密封类:kotlin中的密封类,用关键词Sealed修饰,且还有一个规定:Sealed类的子类应该是Sealed类的嵌套类,或者应该在与Sealed类相同的文件中声明。当我们想定义一个有相同父类,但是有不同子类的时候,我们可以用枚举,抽象类,密封类来表示。下面一一讲解它们之间的区别。1.枚举enumclassResult(valdata:String){SUCCESS("Success"),ERROR("Error")}但是如果我们ERROR中想定义一个Exception,那么枚举类是不允许的。enumclassResult(valmessage:String){SUCCESS

学习心得05:Kotlin

  有多少种编程语言?不知道。那么中国人贡献了几种?好像一种也没有。这就奇怪了。为什么?  安卓APP的编程语言,本来是JAVA。某年开始鼓励大家使用Kotlin。这几天简单了解了一下:Kotlin编译结果跟JAVA一样。其实解释型语言也有自己独特的优势。很多写法更灵活,更简化。使用了lamba、扩展函数等一系列新语法。  新语言的特性,一开始总是会不适应。等用多了就会发现好处。  凡事有利有弊。是不是说这种语法就没有问题呢?也不对。过于隐藏细节,有时会让人糊涂。工作重点并不在于使用了什么语言,而在于基本功。  当然,如果是刚开始学习安卓编程,建议直接学习kotlin,因为官方要求了。

flask----内置信号的使用/django的信号/ flask-script/sqlalchemy介绍和快速使用/sqlalchemy介绍和快速使用

信号内置信号的使用#第一步:写一个函数deftest(app,**kwargs):print(app)print(type(kwargs))#请求地址是根路径,才记录日志,其它都不记录print(kwargs['context']['request'].path)ifkwargs['context']['request'].path=='/':print('记录日志了')#第二步:跟内置信号绑定#signals中有很多内置信号signals.before_render_template.connect(test)#第三步:等待信号被触发(不需要咱们做)--->只要执行到内置信号位置,绑定的函数

Kotlin 开发Android app(十八):线程Thread和UI更新

多线程的好处是不言而喻的,它能帮我们刚更多的事情,同时干不同的事情在程序设计中是经常出现的,这种时候我们使用的是线程。在Kotlin中,使用的还是原先java的那一套,用的还是Thread,可能是在java中Thread就挺好用的,Kotlin没有做太多的变化。线程Thread的使用Thread是一个类,有几种用法,比较常规的是声明一个类,继承Thread,重载run()的方法,后建立一个变量,使用start的方法启动线程。innerclassCountThread:Thread(){varpassc:Int=0overridefunrun(){super.run()while(true){T

The ‘kotlin-android-extensions‘ Gradle plugin is no longer supported.

Android使用kotlin开发,运行报错The'kotlin-android-extensions'Gradlepluginisnolongersupported.Pleaseusethismigrationguide(https://goo.gle/kotlin-android-extensions-deprecation)tostartworkingwithViewBinding(https://developer.android.com/topic/libraries/view-binding)andthe'kotlin-parcelize'plugin.出现这个提示是因为’kotl

java - Rhino 并发访问 javax.script.ScriptEngine

我通过javax.scriptAPI使用Rhino1.6r2。我知道犀牛引擎声称是MULTITHREADED:“引擎实现在内部是线程安全的,脚本可以并发执行,尽管脚本在一个线程上执行的效果可能对其他线程上的脚本可见。”我想知道的是,在什么确切条件下一个脚本执行的效果对另一个脚本可见?在我的代码中,我有时会重复使用ScriptEngine对象,但对于每次执行,我都会创建一个新的SimpleBindings并将其传递给eval(String,Bindings)。通过这种安排,内部状态是否有可能从一次执行泄漏到另一次执行?如果是,怎么办?There'saveryinformativeansw

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules。Android studio纯java代码报错

我使用java代码构建项目,初始代码运行就会报错。我使用的是AndroidStudioGiraffe(Adroid-studio-2022.3.1.18-windows)。我在网上找的解决办法是删除重复的类,但这操作起来真的太麻烦了。 这是全部报错代码:Duplicateclasskotlin.collections.jdk8.CollectionsJDK8Ktfoundinmoduleskotlin-stdlib-1.8.10(org.jetbrains.kotlin:kotlin-stdlib:1.8.10)andkotlin-stdlib-jdk8-1.6.21(org.jetbrain