Android-Kotlin中如何从单元获取字符串

我使用Okhttp3 GET方法到Web服务

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 } }) } 

我想检查web服务返回其“成功”或“失败”

下面我的Logcat android/bKfiHsgc_o.png

在C#中我们可以使用像

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

但在科特林,我不知道该怎么做。 谢谢

你不能像这样的异步方法返回。 另外一个单位方法不会返回任何东西

您需要将Callback对象从方法传递给客户端

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

然后在身体里做这个

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

无论您在哪里调用login_Chk ,都可以定义回调onResponse ,里面有onResponse ,这是数据“返回”到调用方法的地方

你还需要一个XML解析器。 你不能这样做== "Success"