小程序页面之间进行传值的操作办法
959
2022-10-14
EasyNetwork封装了一套Android原生的Http框架,体积小,面向SDK开发者
EasyNetwork
如果用的还行希望点个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目前仅仅包装了一些请求信息. `
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~