联网请求操作okhttputils
来源:互联网 发布:cnc刀库编程 编辑:程序博客网 时间:2024/06/07 13:02
了解okhttputils之前我们看对文献尽进行了解下:
http://www.open-open.com/lib/view/open1452948374339.html
http://blog.csdn.net/hehe307/article/details/51733709
http://www.cnblogs.com/Coderwei2016/p/6445663.html
对于很多刚出道的程序猿来说,刚开始做项目时联网框架都不知道选哪个好,我们通过上面的链接了解下联网框架,然后我个人再真对最近所做项目中封装的okhttputilsjing进行介绍。
1.添加依赖:
compile 'com.github.xxl6097:okhttputils:2.4.1'2.首先初始化okhttputils:
** * Created by 李金伟 on 2016/10/25. */public class MyApp extends Application { private static final String TAG = "MyApp"; public static MyApp context; private static OkHttpUtils okHttpUtils; @Override public void onCreate() { super.onCreate(); context = this;// 赋值 initOkHttp(); } public static Context getContext(){ return context; } /** * 初始化okhttp */ private static void initOkHttp(){ okHttpUtils = OkHttpUtils.getInstance();//获得实例 okHttpUtils.setConnectTimeout(30, TimeUnit.SECONDS); okHttpUtils.setReadTimeout(30, TimeUnit.SECONDS); okHttpUtils.setWriteTimeout(30, TimeUnit.SECONDS); } public static OkHttpUtils getOkHttpUtils() { return okHttpUtils; }}3.封装公共类:
/** * Created by Administrator on 2016/8/23. */public class OkHttpUtils { /** * post提交文本数据 * @param url 提交的地址 * @param dataMap 提交的数据 ,接口字段 key value 值 * @param callback 数据回调 */ public static void postDataMap(String url , Map<String ,String> dataMap, com.zhy.http.okhttp.callback.Callback callback){ PostFormBuilder postFormBuilder = MyApp.getOkHttpUtils() .post() .tag(url) .url(url); if (dataMap != null){ for (Map.Entry<String, String> entry : dataMap.entrySet()) { postFormBuilder.addParams(entry.getKey(),entry.getValue());//获得:key value 值 ,也就是接口中的所需字段 } } postFormBuilder.build().execute(callback); }}
3.举个接口的例子:
public static void getOA_SendShare_ContactPeople_List(String user_id, Callback callback) { dataMap = new HashMap<>(); dataMap.put("USER_ID", user_id); OkHttpUtils.postDataMap(NetUtils.URL_CONTACT_PEOPLE_LIST, dataMap, callback);//url dataMap callback }
4.url:也就是:NetUtils.URL_CONTACT_PEOPLE_LIST:
public static String URL_CONTACT_PEOPLE_LIST = BaseUrl + "iosShare/selectShareRange.do";
5.BaseUrl:链接地址中公共的部分:如:
public static String BaseUrl = "https://www.jh1000.com/"
不过有时候接口中对链接地址返回的不同,比如说是:返回的图片地址,我们所需要的是 https://www.jh1000.com 类型,但是返回来的地址是:https://114.215.40.91 ,这时候我们就不能加载出来图片,因为路径就不对, 那么这时候我们怎么处理呢?
/** * 自定义接口数据返回处理,ios和安卓不一致 */public abstract class MyString2Callback extends StringCallback { public static String respUrl = "https://114.215.40.91"; public static String needUrl = "https://www.jh1000.com"; private static final String TAG = "MyString2Callback"; public MyString2Callback() { } @Override public String parseNetworkResponse(Response response) throws IOException { String res = response.body().string(); if (res.contains(respUrl)){ res = res.replace(respUrl,needUrl); } Log.d(TAG, "parseNetworkResponse() returned: " + res); return res; }}我们通过定义StringCallback ,将返回来的数据地址改为 https://www.jh1000.com 。
阅读全文
1 0
- 联网请求操作okhttputils
- OkHttpUtils
- OkHttpUtils
- OkHttpUtils
- OkHttpUtils
- OkHttpUtils
- OKHttpUtils
- OKhttpUtils
- OkHttpUtils
- OkhttpUtils
- okHttpUtils
- OkHttpUtils
- OkHttpUtils
- OkHttpUtils请求网络查询手机号码归属地
- OkHttpUtils让网络请求简单的框架
- 联网请求
- 联网请求
- 联网操作
- 关于Spring返回json的问题
- java 树的应用
- [Unity] A* pathfinding project integrated with influence map
- 【JAVA】Spring 自动注入类注释详解
- TCP/UDP通信协议基础全集(区别,三次握手四次挥手)
- 联网请求操作okhttputils
- Python第三方库h5py——读取mat文件并显示值
- modern c++ design
- 给动态添加的按钮添加动态事件
- 计算指定节点*p所在的层数
- d3缩放
- 理解OAuth 2.0
- 控制台+WebApi初探
- 去蓝港在线面试Unity3D的笔试题。难吗?知道答案的在评论里写出来分享