1

Server.kt(是一个将返回用户列表的模拟服务器) https://github.com/shalbert94/androidinterview/blob/master/server/src/main/java/com/jobrapp/server/Server.kt

出于某种原因, val server = Server()在我的存储库中调用(https://github.com/shalbert94/androidinterview/blob/master/app/src/main/java/com/jobrapp/androidinterview/MockServerRepository.kt)抛出: Unable to start activity ComponentInfo{com.jobrapp.androidinterview/com.jobrapp.androidinterview.MainActivity}: android.os.NetworkOnMainThreadException

该问题似乎源于调用在'块中调用MockWebServer()的 'start()方法。如何在不触发 NetworkOnMainThreadException 的情况下在我的存储库中进行初始化?ServerinitServer

4

1 回答 1

0

感谢 Kotlin 协程!

fun getUsers(liveData: MutableLiveData<List<User>>) = launch {
        val server = async{ Server() }

        server.await().getUsers().enqueue(object: Callback<List<User>> {...})
    }
于 2018-10-17T15:24:58.600 回答