Skip to content

「Deprecated」EasyNetwork封装了一套Android原生的Http框架,提供了拦截器机制,请求统一加密,响应统一解密,自动重定向,自动重试,不需要额外引入任何库,体积小,面向SDK开发,强烈建议SDK开发者下载jar包进行引用方便混淆.

Notifications You must be signed in to change notification settings

xwdz/EasyNetwork

Repository files navigation

EasyNetwork

logo

DownloadLastVersion

如果用的还行希望点个star,我会继续维护下去.

前言

开发中如果依赖了第三方Jar,而第三方Jar又需要依赖其他第三方库,如果是App开发还可以接受 但是如果是SDK开发者这种情况挺尴尬的,打成Jar后可能SDK体积会变的很大,又或者并不需要引入其他第三方库有点大材小用的感觉。

EasyNetwork封装了一套Android原生的Http框架,提供了类okHttp拦截器机制,请求统一加密,响应统一解密,不需要额外引入任何库,体积小,强烈建议SDK开发者引入jar包.

Download

�作为SDK开发者,强烈建议下载jar包依赖,方便混淆 | Click download jar

使用

自定义拦截器,统一加密、添加公共参数

EasyNetwork.initializeConfig()必须传一个EasyNetworkConfig(Context)实例

在您的Application#OnCreate初始化各种配置.

// Request拦截器
public interface InterceptRequest {

    Request onInterceptRequest(Request request);

}
public class App extends Application {

    @Override
    public void onCreate() {
      super.onCreate();
      
        // 如果需要添加各种自定义配置,传入一个EasyNetworkConfig即可
        EasyNetworkConfig config = new EasyNetworkConfig();
        // 添加 公共参数拦截器
        config.addIntercepts(new AppendGlobalParamsIntercept());
        // 添加 统一加密所有请求
        config.addIntercepts(new APISignatureIntercept());
        // 重试次数
        config.setRetryCount(5)
        // 重试时间间隔
        config.setRetryIntervalMillis(3000);
         
        EasyNetwork.initializeConfig(config);
}

SimpleIntercept
AppendParamsIntercept
APISignatureIntercept

EasyNetworkConfig

属性 说明
setRetryCount(int) 失败的重试次数
setOpenRetry(boolean) 是否需要打开重试功能
setRetryIntervalMillis(long) 每次重试的间隔时间
addIntercepts(InterceptRequest) 自定义的各种拦截器

// 省略部分属性

使用EasyNetwork.sendRequest(request,callback)即可发送请求


 Request request = new Request.Builder()
                .url("ur")
                .post() // or get
                .tag("TAG")
                .addHeader("key","value")
                .addParam("key", "value")
                .build();
 // send Request          
 EasyNetwork.sendRequest(request, new StringEasyCallbackImpl() {
         @Override
         public void onSuccessful(String data) {
             mLogView.setText(data);
         }
 
         @Override
         public void onFailure(EasyCall easyCall,Throwable error) {
              super.onFailure(easyCall, error);
             mLogView.setText(error.toString());
         }
         
         @Override
         public void onCompleted() {
         }
     });   
     
    // cancel Request
    EasyNetwork.cancelRequest(request)               

扩展Callback

继承BaseEasyCallbackImpl即可,完成自己解析、解密、逻辑接口。Simple Code

ChangedLog

1.0.3

  • 不再使用单例
  • 不需要传入context

1.0.2

  • 添加自动请求重定向机制
  • 添加自动重试机制
  • IBaseEasyCallback#onResponse()#onFailure()新增参数EasyCall类,EasyCall目前仅仅包装了一些请求信息. `

About

「Deprecated」EasyNetwork封装了一套Android原生的Http框架,提供了拦截器机制,请求统一加密,响应统一解密,自动重定向,自动重试,不需要额外引入任何库,体积小,面向SDK开发,强烈建议SDK开发者下载jar包进行引用方便混淆.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages