敝人才疏學淺,唯以簡易之Okhttp範例,其中有未能盡善之處,還望指點。
本題以kotlin-android okhttp3 搭配C#.net 帳號密碼驗證WebService 為範例
1.
在build.gradle 加入
compile 'com.squareup.okhttp3:okhttp:3.9.1'
MainCode: val client=OkHttpClient()
//宣告okhttpclient,我是宣告成全域。
val req=Request.Builder()
//webservice的位置
.url("https://www.hxxxx.com/txxxx/WebService.asmx/Login_Check?ID=${Handid.text.toString()}&PW=${Handpd.text.toString()}")
.build()
client.newCall(req).enqueue(object :Callback{
override fun onFailure(call: Call, e: IOException) {
runOnUiThread(Runnable(){
Toast.makeText(this@MainActivity,e.toString(),Toast.LENGTH_SHORT).show()
})
}
override fun onResponse(call: Call, response: Response) {
val resStr:String=response.body()!!.string()
runOnUiThread(Runnable(){
//得到的返回值會是一整頁的XML,所以這裏使用字串檢查來做if
if(resStr.contains("Success"))
{
Toast.makeText(this@MainActivity,"登入成功",Toast.LENGTH_SHORT).show()
}
else if(resStr.contains("Fail"))
{
Toast.makeText(this@MainActivity,"帳號或密碼錯誤",Toast.LENGTH_SHORT).show()
}
else{
Toast.makeText(this@MainActivity,"連線失敗",Toast.LENGTH_SHORT).show()
}
})
}
})
文章標籤
全站熱搜
