OkHttpClient网络请求
来源:互联网 发布:ios移动网络下上传图片 编辑:程序博客网 时间:2024/05/31 19:23
import java.util.Map;import okhttp3.Callback;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.logging.HttpLoggingInterceptor;/** * Created by user on 2017/11/8. * 网络请求工具类 * 1.先导入OkHttpClient的jar包,然后导入com.squareup.okhttp3:logging-interceptor拦截器的包 * 2.完善HttpUtil的工具类(1).getHttpUtil双层判断 * (2).HttpUtil,创建OkHttpClient */public class HttpUtil { private static HttpUtil httpUtil; private final OkHttpClient client; private HttpUtil() { //创建拦截器 HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); //创建OkHttp client = new OkHttpClient.Builder() .addInterceptor(logging) .build(); } public static HttpUtil getHttpUtil() { if (httpUtil == null) { synchronized (HttpUtil.class) { if (httpUtil == null) { httpUtil = new HttpUtil(); } } } return httpUtil; } /** * GET请求 * * @param url 请求地址 * @param callback 回调 */ public void doGet(String url, Callback callback) { Request request = new Request.Builder().url(url).build(); client.newCall(request).enqueue(callback); } /** * post请求 * * @param url 请求地址 * @param params 请求参数 * @param callback 回调 */ public void doPost(String url, Map<String, String> params, Callback callback) { //这里可以加网络判断 /*//判断参数 if (params == null || params.size() ==0){ //运行时异常 throw new RuntimeException("params is null!!!"); }*/ //创建Request FormBody.Builder builder = new FormBody.Builder(); for (Map.Entry<String,String> entry : params.entrySet()) { builder.add(entry.getKey(),entry.getValue()); } FormBody formBody = builder.build(); Request request = new Request.Builder() .url(url) .post(formBody) .build(); client.newCall(request).enqueue(callback); }}
//OnNetListener
public interface OnNetListener<T> { //成功回调 public void onSuccess(T t); //失败回调 public void onFailure(Exception e);}
阅读全文
0 0
- OkHttpClient网络请求
- 安卓使用OkHttpClient进行网络请求
- OkHttpClient请求
- 常用的几种网络请求OkHttpClient , HttpClient和 HttpURLConnection
- OkHttpClient请求数据
- OkHttpClient get请求
- OKHttpClient的POST请求
- OkHttpClient网络框架封装
- OkHttpClient GET与POST请求
- OKHttpClient
- OkHttpClient
- OkHttpClient
- OkHttpClient带多个参数的get请求
- OkHttpClient 请求超时问题-------以解决
- OkHttpClient访问网络和多条吗加载
- OkHttpClient疑虑之execute()与enqueue()同步与异步请求
- okHttpClient异步同步的get和post请求方法
- Android OkHttpClient
- jvisualvm插件安装的正确姿势(解决网络问题)
- Spring Boot之返回JSON数据
- Maven构建SSH项目pom文件依赖包
- MySQL数据类型和常用字段属性总结
- 软工文档感受----可行性研究报告
- OkHttpClient网络请求
- Android拨打电话
- python: iter、next函数
- POJ 1426.Find The Multiple
- prometheus学习笔记(三)
- D. Almost Identity Permutations(dp)
- C++链接数据库找不到mysql.h
- 请求当前网络状态
- (转)塔析|全球首个比特币借记卡先驱--Xapo