如何在存储库中初始化 okHttp 的 MockServer()?
How to initialize okHttp's MockServer() in a repository?
Server.kt(是一个模拟服务器,将 return 用户列表)
https://github.com/shalbert94/androidinterview/blob/master/server/src/main/java/com/jobrapp/server/Server.kt
出于某种原因,在我的存储库 (https://github.com/shalbert94/androidinterview/blob/master/app/src/main/java/com/jobrapp/androidinterview/MockServerRepository.kt) 中调用的 val server = Server()
抛出:
Unable to start activity ComponentInfo{com.jobrapp.androidinterview/com.jobrapp.androidinterview.MainActivity}: android.os.NetworkOnMainThreadException
问题似乎源于调用 MockWebServer()
的 start()
方法,该方法在 Server
的 init
块中调用。如何在不触发 NetworkOnMainThreadException 的情况下在我的存储库中初始化 Server
?
谢谢 Kotlin 协程!
fun getUsers(liveData: MutableLiveData<List<User>>) = launch {
val server = async{ Server() }
server.await().getUsers().enqueue(object: Callback<List<User>> {...})
}
Server.kt(是一个模拟服务器,将 return 用户列表) https://github.com/shalbert94/androidinterview/blob/master/server/src/main/java/com/jobrapp/server/Server.kt
出于某种原因,在我的存储库 (https://github.com/shalbert94/androidinterview/blob/master/app/src/main/java/com/jobrapp/androidinterview/MockServerRepository.kt) 中调用的 val server = Server()
抛出:
Unable to start activity ComponentInfo{com.jobrapp.androidinterview/com.jobrapp.androidinterview.MainActivity}: android.os.NetworkOnMainThreadException
问题似乎源于调用 MockWebServer()
的 start()
方法,该方法在 Server
的 init
块中调用。如何在不触发 NetworkOnMainThreadException 的情况下在我的存储库中初始化 Server
?
谢谢 Kotlin 协程!
fun getUsers(liveData: MutableLiveData<List<User>>) = launch {
val server = async{ Server() }
server.await().getUsers().enqueue(object: Callback<List<User>> {...})
}