Как получить String от Unit в Android-Kotlin

Я использую метод Okhttp3 GET для веб-службы

val client= OkHttpClient() fun login_Chk(id:String,pw:String) { val req=Request.Builder() .url("https://www.hxxxxxx.com/WebService.asmx/Login_Check?ID=${id}&PW=${pw}") .build() client.newCall(req).enqueue(object : Callback{ override fun onFailure(call: Call, e: IOException) {} override fun onResponse(call: Call, res: Response) { println(res.body()?.string().toString()) return } }) } 

Я хочу проверить, что веб-сервис возвращает его «Успех» или «Сбой»,

вниз его мой Logcat http://img.ohandroid.com/android/bKfiHsgc_o.png

В c # мы можем использовать как

 if(webservice(ID,PW) =="Success") { ...... } 

но в котлин я не знаю, как это сделать. благодаря

Вы не можете вернуться из асинхронного метода, подобного этому. Плюс метод Unit ничего не возвращает

Вам необходимо передать объект Callback клиенту из метода

 fun login_Chk(id:String,pw:String, cb:Callback) { 

Тогда в теле просто сделайте это

 client.newCall(req).enqueue(cb); 

Где бы вы ни называли login_Chk , вы определяете обратный вызов, который внутри имеет onResponse , где данные «возвращаются» вызывающему методу

Вам также понадобится синтаксический анализатор XML. Вы не можете сделать == "Success" с этим ответом