美文网首页
Kotlin 网络请求okhttp

Kotlin 网络请求okhttp

作者: 秋叶红90 | 来源:发表于2019-12-09 00:06 被阅读0次

安卓比较热的第三方库okHttp iOS oc Afnetworking swift Alamofire 说跑题了

1 添加依赖吧build.gradle 好像有点时间长网络问题

implementation("com.squareup.okhttp3:okhttp:4.2.2")
  • 咱们先不搞什么封装就简单的使用
  • 见一个按钮button
  • 添加点击事件
  • 代码调用接口 此以POST为例

将下面的代码设为的属性初始化值

val client = OkHttpClient()
    val JSON: MediaType = "application/json".toMediaType()

然后在点击事件里

fun loginApi(view: View){

        var params:MutableMap<String,Any> = mutableMapOf<String,Any>()
        params.set("cellphone","0001211")
        params.set("country_code","+63")
        params.set("verification_code","334455")
        val baseUrl = "自己的域名"
        var url = "$baseUrl/path路径"



        val json = JSONObject()
        json.put("参数1", "value")
        json.put("参数2", "value")
        json.put("参数3", "value")
//        body 里添加参数
        val requestBody: RequestBody = json.toString().toRequestBody(JSON)
        // 以前是这样的
//        val requestBody: RequestBody = RequestBody.create(JSON, json.toString())
//        RequestBody.create()


        var builder = Request.Builder()
        builder.url(url)
        builder.addHeader("Content-Type","application/json")
            .addHeader("参数1","value")
            .addHeader("参数2","value")
            .post(requestBody)




        client.newCall(builder.build()).enqueue(object : Callback {
            override fun onFailure(call: Call, e: IOException) {
                println("————失败了$e")
            }

            override fun onResponse(call: Call, response: Response) {



                var stA = response.body!!.string()
                println("————成功 $stA")

                runOnUiThread(){
                    // 回到主线程刷新UI吧
                    textView22!!.text = stA
                }




            }

        })

    }
  • 为什么没有响应呢,iOS里面不配置权限普通的http是不起作用的那么安卓也是,是要权限的AndroidManifest.xml 的 </manifest> 里
<!--网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />

相关文章

网友评论

      本文标题:Kotlin 网络请求okhttp

      本文链接:https://www.haomeiwen.com/subject/xxivgctx.html