草庐IT

kotlin协程

全部标签

android - 如何在 Kotlin 中制作双向转换器? (在java中工作)

我收到这个错误:Error:(32,50)cannotfindmethodindexFromModel(android.databinding.ObservableList,br.com.martinlabs.usecase.model.GrupoDoPrincipal)inclassbr.com.martinlabs.usecase.viewtools.Converters但是我在Converters上有这个方法:(我也试过一个里面有伴随对象的类)objectConverters{funindexFromModel(list:ObservableList,model:GrupoDoP

android - 无法在新的 Android Kotlin 项目上运行 Instrumented 测试

我刚刚创建了一个支持Kotlin的新android应用程序。当我尝试运行默认的插桩测试时,它没有运行并显示这条消息:Classnotfound:"oussaki.com.pos.ExampleInstrumentedTest"Emptytestsuite.这是我尝试运行的Instrumented测试类:@RunWith(AndroidJUnit4::class)classExampleInstrumentedTest{@TestfunuseAppContext(){//Contextoftheappundertest.valappContext=InstrumentationRegis

Kotlin 构建时不会进行 Android API 版本检查

这个问题在这里已经有了答案:KotlinExtensionFunctionssuddenlyrequireapilevel24(4个答案)关闭4年前。如何让Kotlin在编码时而不是在运行时给出API级别的错误。应用程序Gradle文件:minSdkVersion19targetSdkVersion26Kotlin代码://initialisationvardata=getSomedata()//thereturnedtypeisMapdata.getOrDefault("SomeKey","DefaultValue")问题:代码编译良好,还能够创建签名的APK。但是,当APK在具有A

java - dataSnapshot.getValue 的 Android Studio Kotlin 错误

我在最近的项目中将一个java文件转换为kotlin文件,问题是我在使用这段代码时遇到错误:valmap=dataSnapshot.getValue>(Map::class.java)我在“Map::class”下有一条红线,androidstudio说:Onlyclassesareallowedonthelefthandsideofaclassliteral我应该如何处理这段代码?有没有其他的写法?这是一个相关的kotlin代码fragment:valmessageText=messageArea!!.text.toString()if(messageText!=""){valmap

android - Kotlin + Rx : required Consumer, 找到 KFunction

我正在使用Kotlin+Retrofit+Rx。我想将其中一个请求提取到函数中:fungetDataAsync(onSuccess:Consumer,onError:Consumer){ApiManager.instance.api.getData("some","parameters","here").subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(Consumer{time=System.currentTimeMillis()onSuccess.accept(it)},

android - Anko doAsyncResult 协程

我是anko和协程的新手,所以如果我问一些琐碎的事情,请原谅:)所以我想要做的是让用户点击一个按钮,然后我想从互联网上下载一个JSON,将它存储在本地并解析它。由于这两个操作都需要相当长的时间,所以我考虑使用anko协程。所以第一个问题是:1。我可以使用嵌套的doAsync调用,在第一个UIThread中调用第二个doAsync吗?我试过了,它似乎有效,但感觉不对,所以我试图找到一种更优雅的方式例子:doAsync{downloadFileFromUrl(fileUrl)uiThread{doAsync{IOUtils.parseFile(context!!)valdatabase=A

android - 协程上下文自定义getter

我正在研究1.0.0发布后与Android相关的kotlin协程。我发现了很多通过创建父作业并在onCleared中清除它或在onCreate中创建作业并清除作用域Activity来制作作用域ViewModel(来自架构组件)的示例在onDestroy中(与onResume和onPause相同)。在一些示例中,我遇到了这个代码结构(取自officialdocs):overridevalcoroutineContext:CoroutineContextget()=Dispatchers.Main+job当我们从这个范围启动一个新的协程时,这个自定义的getter是否一直被调用?不好吗?也

android - 如何在 Kotlin 中编写一系列 promise ?

是否可以写出promise的序列?(或任务)仅使用Kotlin?例如,JavaScript中的一个序列promise写成:constSLEEP_INTERVAL_IN_MILLISECONDS=200;constalpha=functionalpha(number){returnnewPromise(function(resolve,reject){constfulfill=function(){returnresolve(number+1);};returnsetTimeout(fulfill,SLEEP_INTERVAL_IN_MILLISECONDS);});};constbra

android - 当我在 Kotlin 中使用 Anko 时,如何为 SQLite 的表定义一个非空字段?

我希望在Kotlin中使用Anko时为SQLite的表定义一个notnull字段。但是DBRecordTable.CategorytoTEXTNOTNULL是错误的,我该如何解决?代码implementation"org.jetbrains.anko:anko-sqlite:$anko_version"overridefunonCreate(db:SQLiteDatabase){db.createTable(DBRecordTable.TableNAME,true,DBRecordTable._IDtoINTEGER+PRIMARY_KEY+AUTOINCREMENT,DBRecord

android - 使用协程在进行网络调用时更新 UI

我试图在使用协程进行网络调用时显示微调器。在itemsFromRepo调用返回之前,UI似乎不显示LOADING_ITEMS状态(微调器),然后微调器显示一瞬间,然后显示项目。我的印象是,因为它在协程中,状态将设置为LOADING_ITEMS,项目将被清除,网络调用将在微调器显示在UI上时在后台进行。然后当网络调用完成时,协程将继续运行并设置项目然后状态。这是使用协程的正确方法吗?还有范围,我认为这是我几个月前玩过的实验性协程的新内容。//ViewModel.ktenumclassState{LOADING_ITEMS,SELECTING_ITEM}varstate=Observabl