草庐IT

Kotlin-script

全部标签

android - Kotlin 反射的 ProGuard 规则

这是一个非常简单的类:classMainActivity:AppCompatActivity(){valprop:String="test"overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)Log.d("MainActivity",::prop.name)}}如果我使用以下规则使用ProGuard运行此应用程序:-dontwarnkotlin.**-dontwarnorg.w3c.dom.events.*-dontwarnorg.jetbrains.kotlin.di.In

接口回调的概念和典型例程(java和kotlin)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是接口回调?二、为什么要使用接口回调三、在JAVA和kotlin中几个接口回调的实例1.java实例2.kotlin实例三、总结前言`接口回调对于初学者来说是一个不太好理解的概念,笔者也是被折磨了好久都没有完全掌握和理解,但是在程序编写确实常常要用到的。本文通过几个实例来学习和理解接口回调的基本概念。一、什么是接口回调?接口回调是指把使用实现了某一接口的类创建的对象的引用,赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的

android - 由于转换为使用 Gradle Kotlin DSL,无法解决依赖关系

使用以下文章作为引用,将我原来的KotlinGradle脚本从使用groovy转换为使用KotlinDSL:ABetterwaytoManageGradleBuildScript和MigratingGradleBuildScriptstoKotlinDSL.编译我的代码后,出现以下构建错误。ERROR:Unabletoresolvedependencyfor':app@debug/compileClasspath':Couldnotresolveproject:app.ShowDetailsAffectedModules:appERROR:Unabletoresolvedependen

android - 使用具有自定义范围和 View 生命周期的 kotlin 协程进行轮询

我刚开始使用Kotlin协程。我正在尝试使用协程轮询服务器,并希望在Activity或Fragment暂停时停止轮询并相应地恢复轮询。所以我的pollScope的生命周期比ViewModel.viewModelScope提供的生命周期短。我对目前的实现并不完全满意,有几个问题:这是创建pollScope的正确方法吗?我希望它在viewModelScope被取消时也被取消,所以这就是我指定父作业的原因。如果我使用coroutineContext.cancel()取消pollJobs,为什么协程不会在onResume()中启动?如果我保留一份工作list并取消它们,它们就可以开始。这是总体

android - Kotlin布局宽高绑定(bind)

我用谷歌搜索并尝试了示例,但我无法执行绑定(bind)FrameLayout宽度和高度。其他绑定(bind)工作正常。最终解决方案:示例项目:https://github.com/jchristof/SimpleDatabindingExample面板.xml:binding.ktKotlin文件@BindingAdapter("android:layout_width")funsetLayoutWidth(view:View,width:Int){vallayoutParams=view.layoutParamslayoutParams.width=widthview.layoutP

android - 如何将 editText 值传递给 viewModel 和 Livedata (Kotlin)

我正在研究Android+Kotlin,做一个简单的例子来理解LiveData+ViewModel。非常简单:我有一个根Activity和两个fragment。FragmentOne有两个EditText。对这些值求和,我需要将结果传递给ViewModel。然后我在根Activity和FragmentTwo中使用观察来查看更改的数据。fragment一classFragmentOne:Fragment(){privatevalmodelbylazy{ViewModelProviders.of(activity).get(MyViewModel::class.java)}varresul

android - 如何停止优化导入以移除 Kotlin Android 扩展导入?

在AndroidStudio3.1.3上运行优化导入导致我的kotlinandroid扩展导入被删除,即使它们正在使用。任何人都知道如何解决此问题或排除kotlinx导入被优化导入删除? 最佳答案 如果您运行的是Kotlin版本1.2.40,您可能会遇到此问题。将build.gradle文件中的Kotlin和Kotlin-android-extensions版本升级到1.2.50classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50"classpath"org.jetbr

java - 将 vararg 参数传递给 Kotlin 中的另一个函数时出现编译时错误

我正在尝试接受可变参数作为Kotlin中的函数参数,并尝试将其传递给具有可变参数的另一个函数。但是,这样做会给我一个编译时错误,typemismatch:inferredtypeisIntArraybutIntwasexpected。Kotlinfuna(vararga:Int){b(a)//typemismatchinferredtypeisIntArraybutIntwasexpected}funb(varargb:Int){}但是,如果我在Java中尝试相同的代码,它会起作用。Java:voida(int...a){b(a);//workscompletelyfine}voidb

android - json 枚举反序列化破坏了 kotlin 空安全

我使用Kotlin数据类和GSON反序列化JSON模式,并实现默认值以防止JSON中出现空对象。此外,使用@SerializedName注释将JSONint枚举映射到Kotlin枚举值:dataclassPerson(@SerializedName("name")valname:String=",@SerializedName("age")valage:Int=0,@SerializedName("hairColor")valhairColor:Color=Color.NONE)enumclassColor{@SerializedName("1")BROWN,@SerializedNa

android - 如何使用 gradle 和 kotlin 为 android studio 设置 jvm 目标?

尝试编译用kotlin编写的单元测试时出现以下错误。Task:app:compileDebugUnitTestKotlinFAILED...无法将使用JVM目标1.7构建的字节码内联到使用JVM目标1.6构建的字节码中。请指定正确的“-jvm-target”选项我已经尝试在我的应用build.gradle中为我的android配置设置源兼容性:compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8}以及在根build.gradle中配置所有ko