敝人才疏學淺,唯以簡易之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()
  }
         })
     }
})

 

arrow
arrow

    周道格 發表在 痞客邦 留言(0) 人氣()