草庐IT

Kotlin-Flow

全部标签

android - 当服务器在 moshi 中为该值发送 null 时,kotlin 数据类中的默认值不起作用

我使用Moshi从服务器解析json。如果服务器为未设置项目默认值发送null!但服务器不发送该项目的默认值集。json:{"percentChange":null,"change":"-2500.00","value":"130000","name":null}数据类:@JsonClass(generateAdapter=true)dataclassReference(valname:String?="-",valvalue:Double,valchange:Double,valpercentChange:Double?=-10.0,)但name和percentChange的数据为空

android - Kotlin Android 扩展在库类型模块中不起作用

我正在尝试实现kotlinandroid扩展以使用@Parcelize注释,如果我在应用程序的模块('com.android.application')中实现它,它可以正常工作,但是当我尝试在库类型模块('com.android.library')对我不起作用。我的gradle配置如下:Build.gradle//应用applyplugin:'com.android.application'applyplugin:'jacoco'applyplugin:'io.fabric'applyplugin:'kotlin-android'applyplugin:'kotlin-android-

android - Kotlin - 为什么这个变量在初始化后为空?

我正在尝试为一些Android代码编写单元测试,以查找Intent对象中存在的特定键。作为测试的一部分,我正在创建一个Intent对象并向其添加一个String。但是,当我使用下面的代码时,我的变量被初始化为空:valdata=Intent().putExtra("key","value")//dataisnull如果我把它分成两行,它工作得很好:valdata=Intent()data.putExtra("key","value")//dataisnon-nullandcontainsmykey/valueKotlin语言的什么特性导致了这种情况的发生?注意putExtra()返回一

android - Kotlin 协同程序 - 如果一段时间后第一个任务没有完成,则开始另一个任务

我正在使用Kotlin协程从服务器获取数据,我正在将延迟传递给其他函数。如果服务器在2000毫秒内没有给出答案,我想从本地RoomDB中检索对象(如果它存在于本地数据库中),但如果我最终从服务器接收到数据,我想保存在在本地数据库中以备将来调用。我怎样才能做到这一点?想过用withTimeout,但是在这种情况下,超时后没有等待服务器的响应。overridefungetDocument():Deferred{returnGlobalScope.async{withTimeoutOrNull(timeOut){serverC.getDocument().await()}?:dbC.getD

android - Kotlin协程,有没有更好的方法来返回这个值?

与协程作斗争,但有没有更好的方法来使用/获取此处长时间运行的调用的值,然后再将其传递给带有回调的另一个网络协程?我见过其他人,但我似乎无法使用最新的droid协程版本的值,就像我似乎无法使这项工作一样KotlinCoroutineswithreturningvalueprivatesuspendfunlaunchGeneratePayload():String?{returnwithContext(Dispatchers.Default){try{valpayloadString=slowStringGeneration()//Slowreturn@withContextpayload

android - Kotlin 库 'classes.jar' 的格式不受支持。请更新库或插件

此消息出现在项目同步中。我尝试清理并重建项目,但没有成功。我使用的是最新的插件版本0.12.275,“org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.213”和“org.jetbrains.kotlin:kotlin-stdlib:0.12.213”我已经尝试使用稳定版本0.12.200的插件和库,但我得到了同样的错误。我正在使用AndroidStudioAI-141.1972460(金丝雀channel)。 最佳答案 看起来问题出在我的*.aar库中,它包含在项目中-它是用旧版本的Ko

android - 部署到 Android、桌面和浏览器的单个 Kotlin+libgdx 代码库?

这可能吗?我认为部署到Android和桌面应该不会太难(因为Java已经可以做到)。我了解到Kotlin也可以转译为JavaScript。这是否意味着我可以为所有三个目标部署相同的代码库,或者我需要为浏览器使用不同的代码?(在使用Kotlin定位浏览器时甚至可以使用libgdx吗?) 最佳答案 这取决于您的代码库。首先,Kotlin2JS没有正式发布,它有很多问题,所以为JVM编译的代码在JavaScript中会运行失败。其次,您的代码库不应依赖于Java类库(即java.lang、java.util、java.io等),因为Kot

android - Kotlin-allopen for android

是否可以使用kotlin-allopengradle插件通过mockito进行android测试?我尝试将kotlin-allopen插件添加到我的build.gradle并定义注释。buildscript{ext.kotlin_version='1.0.6'dependencies{classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"classpath"org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"}}applyplugin:'com.andr

android - Kotlin 综合属性

我注意到Kotlin合成属性不适用于CustomView。我不知道这是不是故意的。读取生成的java类时,我看到缓存存在:privateHashMap_$_findViewCache;但从未使用过。相反,只要需要View,就会调用findViewById。这是默认行为吗?合成属性仅适用于Activity和fragment? 最佳答案 Thisworksnow.Blogpostonkotlin-android-extensions自定义类应生成并使用缓存:itemTitle.text="HelloWorld!"这在自定义View类中变

android - Kotlin 的 EventBus 不工作

我是Android新手,正在尝试使用EventBus将消息从Fragment发送到其容器Activity。但是,我收到错误:D/EventBus:Nosubscribersregisteredforeventclasscom.app.todo.controllers.task.TaskListFragment$TaskCreateSelectEvent以下是与EventBus相关的Activity类中的代码:publicclassMainActivity:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?