当前位置: 首页 > 知识库问答 >
问题:

将Kotlin“暂停娱乐”转换为Java

卢毅
2023-03-14

我试图将库从Kotlin转换为Java,但这个方法限制了我:

private suspend fun queryPurchases() {
        val inappResult: PurchasesResult = mBillingClient.queryPurchasesAsync(BillingClient.SkuType.INAPP)
        processPurchases(inappResult.purchasesList, isRestore = true)
        val subsResult: PurchasesResult = mBillingClient.queryPurchasesAsync(BillingClient.SkuType.SUBS)
        processPurchases(subsResult.purchasesList, isRestore = true)
    }

如何在Java中实现挂起??


共有2个答案

司雅畅
2023-03-14

Java中最接近的东西可能是一个完整的未来或反应性流。

来自Spring生态系统的项目反应器是一种流行的反应流实现。

无论您使用何种技术,以保留原始代码并发性的方式进行移植可能都不会很简单。

须敏学
2023-03-14

可悬浮功能是Kotlin增加的一个功能,也是它独有的。在Java中,你不能很容易地创建甚至调用挂起函数。

您可以忽略原始函数是可挂起的,并将其视为常规函数,但如果库广泛使用协程,则很难将其移植到Java。

 类似资料:
  • 我有静态编程语言界面 我如何从爪哇调用它?什么

  • 有谁能帮我把Android Studio中的Kotlin代码转换成Java吗? 我经历了以下过程: 工具>>Kotlin>>将Kotlin反编译为Java

  • ap.pauseBackgroundAudio(CALLBACK) 暂停播放音乐。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <style>.output{ display:block; max-width: 100%

  • 问题内容: 如何将Kotlin转换为varargs Java ? 如何将ArrayList传递给varargs方法参数? 问题答案: 您应该使用如下形式的 散布运算符 : 散布运算符需要放在数组参数的前面: 有关更多信息,请参见文档: 当我们调用-function时,可以一个接一个地传递参数,例如,或者,如果我们已经有一个数组并将其内容传递给该函数,则可以使用spread运算符(将数组前缀为):

  • 如何将Kotlin转换为varargs Java? 如何将ArrayList传递给varargs方法参数?

  • ap.onBackgroundAudioPause(CALLBACK) 监听音乐暂停事件。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <style>.output{ display:block; max-width: