如何从 Android-Kotlin 中的 Unit 获取字符串
How get String from Unit in Android-Kotlin
我正在对 Web 服务使用 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
}
})
}
我想检查网络服务 return 它的 "Success" 或 "Fail"
缺点是我的 Logcat
https://images2.imgbox.com/b4/cb/bKfiHsgc_o.png
在c#中我们可以使用like
if(webservice(ID,PW) =="Success")
{
......
}
但在 kotlin 中我不知道该怎么做。
谢谢
您不能通过这样的异步方法 return。加上 Unit 方法 return 无论如何
您需要将回调对象从方法传递给客户端
fun login_Chk(id:String,pw:String, cb:Callback)
{
然后在正文中这样做
client.newCall(req).enqueue(cb);
无论你在哪里调用login_Chk
,你都定义了回调,里面有onResponse
,这是调用方法"returned"的数据
您还需要一个 XML 解析器。你不能用那个回应 == "Success"
我正在对 Web 服务使用 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
}
})
}
我想检查网络服务 return 它的 "Success" 或 "Fail"
缺点是我的 Logcat https://images2.imgbox.com/b4/cb/bKfiHsgc_o.png
在c#中我们可以使用like
if(webservice(ID,PW) =="Success")
{
......
}
但在 kotlin 中我不知道该怎么做。 谢谢
您不能通过这样的异步方法 return。加上 Unit 方法 return 无论如何
您需要将回调对象从方法传递给客户端
fun login_Chk(id:String,pw:String, cb:Callback)
{
然后在正文中这样做
client.newCall(req).enqueue(cb);
无论你在哪里调用login_Chk
,你都定义了回调,里面有onResponse
,这是调用方法"returned"的数据
您还需要一个 XML 解析器。你不能用那个回应 == "Success"