Как инициализировать MockServer () от okHttp в хранилище? - PullRequest
0 голосов
/ 17 октября 2018

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(), который вызывается в блоке Server * 1013. * Как я могу инициализировать Server в моем хранилище, не вызываяNetworkOnMainThreadException

1 Ответ

0 голосов
/ 17 октября 2018

Спасибо котлинским сопрограммам!

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

        server.await().getUsers().enqueue(object: Callback<List<User>> {...})
    }
...