怎么在 Java 里调用 Kotlin 的 suspend 方法

6 天前
 magic3584
class AreaManager {
    companion object {
        @Volatile
        private var instance: AreaManager? = null

        @JvmStatic
        fun getInstance(): AreaManager {
            return instance ?: synchronized(this) {
                instance ?: AreaManager().also { instance = it }
            }
        }
    }
    suspend fun updateArea(context: Context): Boolean {
        val filePath = downloadFile(context)
        return when (filePath) {
            null -> false
            else -> true
        }
    }
}

我现在想在 fragment 的 java 代码里调用,应该怎么做?试了 Claude 、GPT 都没能实现,各种飘红。

android 也太难学了

  1. 不能像 iOS 和 flutter 一样,通过 IDE 快速的知道当前是哪个页面,只能根据页面上的文字去慢慢搜索
  2. 方法是类似 setOnClickListener(this) 结果回调又是在 onClick ,无法通过点击方法来跟踪调用。类似的还有 onNext 等,再搭配 vm 、adapter 和 presenter ,绝了😂
1180 次点击
所在节点    Android
32 条回复
ck19920702
5 天前
@magic3584 #20 public void resumeWith(@NonNull Object o) o 强制转成 Boolean
getContext() 返回 EmptyCoroutineContext.INSTANCE
Kamiyu0087
23 小时 58 分钟前
为啥不直接用 kotlin 写呢?
magic3584
23 小时 57 分钟前
@Kamiyu0087 #22
老项目,java kotlin 都有。而我是新新手,只能就着改改
magic3584
20 小时 41 分钟前
@lisongeee #2
@location123 #3
@GotKiCry #4
@yazinnnn0 #7
@Achieve7 #8
@lmshl #9
@guoziq09 #10
@zoharSoul #12
@mtdhllf #17
@fuckshiter #18
@ck19920702 #19
@Kamiyu0087 #22
请教各位大佬,怎么快速知道当前是哪个 activity? 我用命令行 ` adb shell dumpsys activity top | grep ACTIVITY` 时好时不好。现在只能搜索当前页面上的字去一个一个找
zoharSoul
20 小时 31 分钟前
@magic3584 #24 as 上直接就可以看到啊
ck19920702
20 小时 17 分钟前
@magic3584 #24 as 里 logcat 过滤下 :message:Displayed ,记得把包名限制去掉。 过滤日志那一行只保留 message:Displayed ,可以看到当前 Activity
location123
18 小时 4 分钟前
@magic3584 #24 试下 adb shell dumpsys window | grep Activity
查看 window 上的 activity 我不是专业的 Android 开发
magic3584
18 小时 2 分钟前
@ck19920702 #26 感谢,有些可用,只不过有一些会打印 ` myPackage.ComposeActivity ( ComposeActivity: ComponentActivity())`

@zoharSoul #25
是用 26 楼方法吗?
zoharSoul
17 小时 51 分钟前
@magic3584 #28 不是的,
as 直接有个功能叫 Activity Profiler 可以直接看到
或者用 layout Inspector 也能直接看到
zoharSoul
17 小时 48 分钟前
magic3584
17 小时 33 分钟前
@zoharSoul #30
感谢,布局确实很清楚。iOS 的话用 Xcode 也就看看 Controller 了
zoharSoul
17 小时 30 分钟前
@magic3584 #31 不客气哦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1095291

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX