Skip to content

zhihaoliang/LibOkHttpUtil

Repository files navigation

1.这是一个对OkHttp的整合包括的方法主要有:


/**
 \* Get 请求
 \* @param url          请求的地址
 \* @param httpCallBack 请求的结果的处理
 \* @param context 建议用ApplicationContext
 */
public void httpGet(Context context,String url, HttpCallBack httpCallBack) 

/**
 \* Post Json 请求
 \* @param url          请求的地址
 \* @param httpCallBack 请求的结果的处理
 \* @param object       传递的Bean类
 \* @param context 建议用ApplicationContext
 */
public void httpPostJson(Context context,String url, HttpCallBack httpCallBack, Object object)

/**
 \* Post Form表单 请求
 \* @param url          请求的地址
 \* @param httpCallBack 请求的结果的处理
 \* @param object       传递的Bean类
 \* @param context 建议用ApplicationContext
 */
public void httpPostForm(Context context,String url, HttpCallBack httpCallBack, Object object)

/**
 \* Post Form表单 请求
 \* @param url          请求的地址
 \* @param httpCallBack 请求的结果的处理
 \* @param params      传递的
 \* @param context 建议用ApplicationContext
 */
public void httpPostForm(Context context,String url, HttpCallBack httpCallBack, Map params)

/**
\*文件上传 请求
\*@param url          请求的地址
\*@param httpCallBack 请求的结果的处理
\*@param files    要上传的的文件路径列表
\*@param context 建议用ApplicationContext
 */
public void uploadFile(Context context,String url, HttpCallBack httpCallBack,  Map params,File...files )

2.工程的导入在工程中的build.gradle


allprojects {

repositories {
    jcenter()
    maven {
        url "https://raw.githubusercontent.com/zhihaoliang/LibOkHttpUtil/master/libokhttp/repository"
    }
}

}


在app中的build.gradle 加入

compile 'com.zhihaoliang.util.http:libokhttp:1.0'

compile 'com.zhihaoliang.util.http:libokhttp:1.0'

3.使用方法

<1>实现OkHttpClientUtil


package com.zhihaoliang.util.http.zokhttpsimple;

import android.util.Log;

import com.zhihaoliang.util.http.OkHttpClientUtil;

/**
\*Created by Administrator on 2016/4/7 0007.
 */
public class MyOkHttpClientUtil extends OkHttpClientUtil {

private static OkHttpClientUtil sInstance;

/**
* 单例模式中的懒加载
*/
public static OkHttpClientUtil initInstance() {
if (sInstance == null) {
    synchronized (MyOkHttpClientUtil.class) {
        if (sInstance == null) {
            sInstance = new MyOkHttpClientUtil();
            sInstance.initInstance("com.zhihaoliang.util.http.zokhttpsimple",true);
        }
    }
}
return sInstance;
}

/**
\* 是否是debug模式,debug模式不进行联网直接返回成功
\* @return
*/
@Override
public boolean isDebug() {
return false;
}

/**
\* 当可以联网但是服务器没返回的错误
\* 返回值暂时没有用到
*/
@Override
public boolean onDeError() {
return false;
}

/**
\* 对url的处理,比如加上服务器地址
*/
@Override
public String getUrl(String url) {
return url;
}

/**
\*对返回值的打印
*/
@Override
public void doLog(String response) {
Log.e("==",response);
}
}

<2>实现HttpCallBack


package com.zhihaoliang.util.http;

import okhttp3.Call;
import okhttp3.Request;

/**
\*Created by Intellij IDEA
\*User:haoliangzhi
\*DATA:2016/3/11
\*TIME:23:48
 */
public abstract class HttpCallBack {
    /**
    \*如果不符合联网条件
     */
    public abstract void onConnnectFaile(int state);
    /**
    \*符合联网条件
     */
    public abstract void onConnnectSucess();

    /**
    \*联网之前的UI操作
     */
    public void onBefore(Request request) {
    }

    /**
    \*联网之后的操作
     */
    public void onAfter() {
    }

    /**
    \*联网错误的操作
    \*@param call
    \*@param e
     */
    public abstract void onError(Call call, Exception e);

    /**
    \*联网成功的操作
    \*@param response
     */
    public abstract void onResponse(String response);

    /**
    \*联网进度的展示
    \*@param progress
     */
    public void inProgress(float progress) {
    }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages