• 安卓开发之okHttp请求封装


    1. package util;
    2. import java.util.Map;
    3. import java.util.concurrent.TimeUnit;
    4. import okhttp3.FormBody;
    5. import okhttp3.MediaType;
    6. import okhttp3.OkHttpClient;
    7. import okhttp3.Request;
    8. import okhttp3.RequestBody;
    9. public class NetWork {
    10. private static String userAgent = System.getProperty("http.agent");
    11. //定义请求基础地址
    12. public static final String BASEURL = "你的基础地址";
    13. public static void get(String url, okhttp3.Callback callback) {
    14. OkHttpClient okHttpClient = new OkHttpClient();
    15. Request request = new Request.Builder()
    16. .url(BASEURL+url)
    17. .build();
    18. okHttpClient.newCall(request).enqueue(callback);
    19. }
    20. //这个也是get请求,和上个不同的是.removeHeader("User-Agent").addHeader("User-Agent", userAgent)这里,一般是登录的时候要的
    21. public static void getA(String url, okhttp3.Callback callback) {
    22. OkHttpClient okHttpClient = new OkHttpClient();
    23. okHttpClient.newBuilder() //这里写超时设置
    24. .connectTimeout(10, TimeUnit.MINUTES)
    25. .readTimeout(10, TimeUnit.MINUTES) // 读取超时
    26. .writeTimeout(10, TimeUnit.MINUTES) // 写超时
    27. .build();
    28. Request request = new Request.Builder()
    29. .url(BASEURL+url)
    30. .removeHeader("User-Agent")//移除旧的
    31. .addHeader("User-Agent", userAgent)
    32. .build();
    33. okHttpClient.newCall(request).enqueue(callback);
    34. }
    35. //这个post是传json的
    36. public static void postJ(String url, String json, okhttp3.Callback callback) {
    37. OkHttpClient okHttpClient = new OkHttpClient();
    38. RequestBody requestBody = RequestBody
    39. .create(MediaType.parse("application/json"), json);
    40. Request request = new Request.Builder()
    41. .url(BASEURL+url)
    42. .post(requestBody)
    43. .build();
    44. okHttpClient.newCall(request).enqueue(callback);
    45. }
    46. //这个post是传formDate的
    47. public static void postF(String url, Map map, okhttp3.Callback callback) {
    48. FormBody.Builder builder = new FormBody.Builder();
    49. String userAgent = System.getProperty("http.agent");
    50. for (String key : map.keySet()) {
    51. builder.add(key, map.get(key));
    52. }
    53. OkHttpClient okHttpClient = new OkHttpClient();
    54. Request request = new Request.Builder()
    55. .url(BASEURL+url)
    56. .post(builder.build())
    57. .build();
    58. okHttpClient.newCall(request).enqueue(callback);
    59. }
    60. }

  • 相关阅读:
    微信小程序——生命周期
    主机访问虚拟机中docker安装的mysql
    图像的表示方法
    前端性能优化方法与实战01 体系总览:性能优化体系及关键指标设定
    「C#」WPF学习笔记-基础类及继承关系
    webpack入门基础
    【datawhale202206】pyTorch推荐系统:召回模型 DSSM&YoutubeDNN
    软件测试/测试开发丨python 多态与super 学习笔记
    vue3 + element 从0到1搭建前端基础框架
    分页处理 - 若依cloud -【 129 】
  • 原文地址:https://blog.csdn.net/qq_40596257/article/details/126568893