如何在 Kotlin 中绕过 NetworkOnMainThreadException?

9

您好,我开始学习Kotlin了。现在Android Studio 3.0已经支持它了,但我不知道如何在另一个线程中进行简单的网络请求...

在Java中很容易实现。

new Thread(new Runnable() {
    @Override
    public void run() {
        //Do dome Network Request

        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //Update UI
            }
        });
    }
}).start();

我知道我可以使用AsyncTask等方法来解决这个问题,但我不想那样做。我希望有一个简单的解决方案,而不需要创建额外的类和复杂的用例。
在Kotlin中是否有可能实现这个需求?

1
你可以像Java一样在Kotlin中创建和启动新的线程。 - OneCricketeer
1个回答

27

Java和Android SDK中的所有相同类和方法都可以在Kotlin中使用,因此您可以直接使用完全相同的内容。由于支持SAM构造函数等功能,格式化更好。

Thread({
    //Do some Network Request

    runOnUiThread({
        //Update UI
    })
}).start()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接