Kotlin OkHttp 封装:简化网络请求操作
下面是一个使用Kotlin封装OkHttp的示例类:\n\nkotlin\nimport okhttp3.*\nimport java.io.IOException\n\nclass HttpClient {\n\n private val client: OkHttpClient\n\n init {\n client = OkHttpClient()\n }\n\n fun get(url: String, callback: Callback) {\n val request = Request.Builder()\n .url(url)\n .build()\n \n client.newCall(request).enqueue(callback)\n }\n\n fun post(url: String, jsonBody: String, callback: Callback) {\n val mediaType = MediaType.parse("application/json")\n val requestBody = RequestBody.create(mediaType, jsonBody)\n\n val request = Request.Builder()\n .url(url)\n .post(requestBody)\n .build()\n \n client.newCall(request).enqueue(callback)\n }\n}\n\n\n使用示例:\n\nkotlin\nval client = HttpClient()\n\nclient.get("https://api.example.com/data", object : Callback {\n override fun onResponse(call: Call, response: Response) {\n val responseBody = response.body?.string()\n // 处理响应数据\n }\n\n override fun onFailure(call: Call, e: IOException) {\n // 处理请求失败\n }\n})\n\nval jsonBody = "{\"name\":\"John\", \"age\":30}"\nclient.post("https://api.example.com/data", jsonBody, object : Callback {\n override fun onResponse(call: Call, response: Response) {\n val responseBody = response.body?.string()\n // 处理响应数据\n }\n\n override fun onFailure(call: Call, e: IOException) {\n // 处理请求失败\n }\n})\n\n\n以上示例中,HttpClient类封装了OkHttp的get和post方法,并通过Callback回调处理响应和请求失败的情况。在使用时,可以实例化一个HttpClient对象,并调用get或post方法来发送请求,并传入相应的URL和回调函数。
原文地址: https://www.cveoy.top/t/topic/pUVI 著作权归作者所有。请勿转载和采集!