OkHttp get post请求的封装
来源:互联网 发布:seo推广学院 编辑:程序博客网 时间:2024/05/18 03:08
import android.os.Handler;import com.example.mvp3.OnFinishListener;import java.io.IOException;import java.util.Map;import okhttp3.Call;import okhttp3.Callback;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;/** * Created by 知足 on 2017/12/9. */public class OkHttpUtils { private static OkHttpUtils okHttpUtils = null; private static Handler handler =new Handler(); private OkHttpUtils(){}; /** * 获取当前这个类的实列 * */ public static OkHttpUtils getInstance(){ if(null == okHttpUtils){} synchronized (OkHttpUtils.class){ if(null == okHttpUtils){ okHttpUtils =new OkHttpUtils(); } } return okHttpUtils; } /** * get请求 * */ public void doGet(String path, Map<String,String> map , final OnFinishListener onFinishListener){ StringBuilder sb = null; for(String key: map.keySet()){ if(null == sb){ sb= new StringBuilder(); sb.append("?"); }else{ sb.append("&"); } //拼接参数 sb.append(key).append("=").append(map.get(key)); } OkHttpClient okHttpClient = new OkHttpClient(); final Request request = new Request.Builder() .url(path+sb.toString()) .get() .build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { //在子线程 handler.post(new Runnable() { @Override public void run() { onFinishListener.onFailed(e.getMessage()); } }); } @Override public void onResponse(Call call, Response response) throws IOException { final String result = response.body().string(); handler.post(new Runnable() { @Override public void run() { onFinishListener.onSuccess(result); } }); } }); } /** * post请求 * */ public void doPost(String path, Map<String,String> map, final OnFinishListener onFinishListener){ OkHttpClient okHttpClient = new OkHttpClient(); FormBody.Builder builder= new FormBody.Builder(); for (String key:map.keySet()){ builder.add(key,map.get(key)); } //构建请求体 FormBody body = builder.build(); Request request = new Request.Builder() .post(body) .url(path) .build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { //在子线程 handler.post(new Runnable() { @Override public void run() { onFinishListener.onFailed(e.getMessage()); } }); } @Override public void onResponse(Call call, Response response) throws IOException { final String result = response.body().string(); handler.post(new Runnable() { @Override public void run() { onFinishListener.onSuccess(result); } }); } }); }}
阅读全文
0 0
- OkHttp get post请求的封装
- 封装OKHttp的get和post请求模版
- OKhttp的get请求和post请求
- okHttp post&get请求
- okhttp get post请求
- 简述OkHttp的使用:get、post请求
- OkHttp的POST、GET请求方式
- Okhttp和Retrofit的get,post请求
- Okhttp的post和get请求数据
- OkHttp的get/post同步异步请求
- okhttp GET请求 post请求
- OkHttp Get请求/Post请求
- OKHttp的get和post请求封装方法(编写步骤.txt)
- okhttp自定义拦截器,封装公共参数,get或post请求不同的拦截器
- OkHttp get和post封装
- Okhttp 异步get post 请求
- 封装GET、POST请求
- okHttp网络请求框架get请求的封装
- 简单MVP框架(OKHTTP请求数据)
- 【MySQL】---1045-Access denied for user 'root'@'localhost'(using password :YES)
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
- struct 结构体
- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter问题解决
- OkHttp get post请求的封装
- 用单片机实现 websever 网页服务器功能
- KMP算法
- 我在兄弟连学python(2)-----关于返回值
- 爬虫实践练习(爬小说)
- 验证
- 集合小结
- IIS发表
- java--Demo1