OkHttp的学习(二)
来源:互联网 发布:c语言 algin 编辑:程序博客网 时间:2024/05/18 01:41
一、OkhttpUtils
对okhttp的封装类,这个类对OkHttp网络操作进行了一些封装,Android Studio中本来是没有这个类的,需要自己在build.gradle里添加
compile 'com.zhy:okhttputils:2.0.0'
下面我们就一起来学习一下这个类,然后再看下其基本的用法。public static final long DEFAULT_MILLISECONDS = 10000; private static OkHttpUtils mInstance; private OkHttpClient mOkHttpClient; private Handler mDelivery;
这个类里面首先定义了一个默认的时长,为10秒,应该是用作请求超时什么的。
然后定义了一个静态变量,也为这个类的唯一实例,这里他使用了单例模式,在私有的构造方法里,分别对这几个成员变量做了初始化操作,见下面的代码:
private OkHttpUtils() { mOkHttpClient = new OkHttpClient(); //cookie enabled mOkHttpClient.setCookieHandler(new CookieManager(null, CookiePolicy.ACCEPT_ORIGINAL_SERVER)); mDelivery = new Handler(Looper.getMainLooper()); if (false) { mOkHttpClient.setHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } }); } }这个类里面的一些方法:
public Handler getDelivery() { return mDelivery; } public OkHttpClient getOkHttpClient() { return mOkHttpClient; } public static GetBuilder get() { return new GetBuilder(); } public static PostStringBuilder postString() { return new PostStringBuilder(); } public static PostFileBuilder postFile() { return new PostFileBuilder(); } public static PostFormBuilder post() { return new PostFormBuilder(); }这些也就不用多说什么,都是返回一些对象的方法。这些对象分别都是一些网络操作封装类的对象,通过名字我猜你已经知道它们的作用是什么了。
GetBuilder:用来构建get请求的,里面包括url和参数的拼接,tag,header等的设置PostStringBuilder:也是用来构建请求的,但是与GetBuiler不一样,这个构建的是post请求PostFileBuilder:里面有两个字段,一个是文件对象,一个是媒体类型。这个类主要用于上传文件PostFormBuilder :里面的字段是List<FileInput> files=new ArrayList();一个类型为FileInputStream的链表,这个类我感觉是高效率地创建表单然后上传。 二、OkhttpUtils的使用
0 0
- OkHttp的学习(二)
- OkHttp的学习(一)
- okHttp的学习
- okhttp源码的学习
- (4.2.36.2)HTTP之OkHttp(二): Okhttp的封装
- okhttp的学习(一)
- OKHTTP缓存机制的学习
- 使用OkHttp的那些事儿(二)
- Okhttp学习
- okhttp学习
- okhttp学习
- OkHttp深入学习(二)——网络
- OkHttp深入学习(二)——网络
- OKhttp源码学习(二)—— OkHttpClient
- xListView+OKHttp使用(二)
- OkHttp 使用详情二
- okhttp的简单介绍(二)之简单封装
- OkHttp的深入研究:Jesse Wilson(二)
- 当cpu飙升时,找出php中可能有问题的代码行
- 2016-9-10
- Android 使用adb forward调试小型嵌入式web服务器
- Tinyxml解析XML格式的文件
- HDU:Warcraft
- OkHttp的学习(二)
- 黑色幽默
- 快速幂算法基础
- 371. Sum of Two Integers
- 第四周项目3-随机函数应用于游戏(2)小学生算数能力测试系统
- 在硬件设备上运行应用
- 1065. A+B and C (64bit) (20)
- SCU2016-02 T题 (LIS)
- 第一行代码酷欧天气开发(二)