版权声明:本文为HaiyuKing原创文章,转载请注明出处!
前言
本文使用的OKHttp封装库是张鸿洋(鸿神)写的,因为在项目中一直使用这个库,所以对于一些常用的请求方式都验证过,所以特此整理下。
本文主要讲的是在项目中导入OkHttpUtils库的一些操作。至于get、post、上传单个、多个文件、下载文件、提交文件、提交json字符串请求等,在下一篇中会有单独的介绍。
效果图
代码分析
1、导入jar包
2、在MyApplication中配置OKHttpUtils
3、在AndroidManifest.xml中添加权限并声明自定义的MyApplication
4、创建urls.xml文件,用来设置URL地址【这种方式不太好,因为urls.xml在res中,所以容易被反编译获取到;应该换成在接口ServerApi中声明常量进行调用】
5、创建logic包,用来封装网络请求
6、在strings.xml文件中声明一些常用的提示语
使用步骤
一、项目组织结构图
注意事项:
1、导入类文件后需要change包名以及重新import R文件路径
2、Values目录下的文件(strings.xml、dimens.xml、colors.xml等),如果项目中存在,则复制里面的内容,不要整个覆盖
二、导入步骤
1、将相关jar包复制到项目的libs目录下并同步Gradle File【这个是eclipse上的用法】【Android studio中直接使用compile 'com.zhy:okhttputils:2.6.2'】
其中,gson-2.2.4.jar用于Post Json提交。【这个是必须单独引用的,不管Android studio还是eclipse】
同步Gradle File后:
2、创建一个包含以下代码的MyApplication.java(自定义的Application子类)
packagecom.why.project.okhttputilsbasedemo;importandroid.app.Application;importandroid.content.Context;importcom.zhy.http.okhttp.OkHttpUtils;importcom.zhy.http.okhttp.cookie.CookieJarImpl;importcom.zhy.http.okhttp.cookie.store.PersistentCookieStore;importcom.zhy.http.okhttp.https.HttpsUtils;importcom.zhy.http.okhttp.log.LoggerInterceptor;importjava.util.concurrent.TimeUnit;importjavax.net.ssl.HostnameVerifier;importjavax.net.ssl.SSLSession;importokhttp3.OkHttpClient;/*** Created by HaiyuKing
* Used 自定义Application*/
public class MyApplication extendsApplication{/**系统上下文*/
private staticContext mAppContext;
@Overridepublic voidonCreate() {super.onCreate();
mAppContext=getApplicationContext();
initOkHttp();//配置OkhttpClient
}/**获取系统上下文:用于ToastUtil类*/
public staticContext getAppContext()
{ret