如何从Android-Kotlin中的Unit获取String

时间:2018-01-15 03:32:23

标签: android kotlin okhttp3

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

我想检查webservice返回它的"成功"或"失败"

我的Logcat下行 https://images2.imgbox.com/b4/cb/bKfiHsgc_o.png

在c#中,我们可以像

一样使用
if(webservice(ID,PW) =="Success")
{
......
}

但在kotlin我不知道该怎么做。 感谢

1 个答案:

答案 0 :(得分:0)

您无法从此类异步方法返回。另外,单位方法无论如何都不会返回任何内容

您需要从方法

将Callback对象传递给客户端
i = min(x, n - 1) & x

然后在体内做这个

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

无论您何时拨打client.newCall(req).enqueue(cb); ,都可以定义回调,其中包含login_Chk,其中数据是"返回"调用方法

您还需要一个XML解析器。您无法使用该回复onResponse