当前位置: 首页 > news >正文

网站建设公司排行杭州百度网盟官网

网站建设公司排行杭州,百度网盟官网,网站建设公司无锡,哈尔滨专业制作网站官网 项目地址:Github博客地址:网络请求,如斯优雅 OkHttp 另外对 OkHttp 原理感兴趣的同学推荐你看以下源码分析文章 OkHttp 精讲:拦截器执行原理OkHttp 精讲:RetryAndFollowUpInterceptorOkHttp 精讲:…
官网
  • 项目地址:Github
  • 博客地址:网络请求,如斯优雅
OkHttp

另外对 OkHttp 原理感兴趣的同学推荐你看以下源码分析文章

  • OkHttp 精讲:拦截器执行原理
  • OkHttp 精讲:RetryAndFollowUpInterceptor
  • OkHttp 精讲:BridgeInterceptor
  • OkHttp 精讲:CacheInterceptor
  • OkHttp 精讲:ConnectInterceptor
  • OkHttp 精讲:CallServerInterceptor
集成步骤
  • 如果你的项目 Gradle 配置是在 7.0 以下,需要在 build.gradle 文件中加入
allprojects {repositories {// JitPack 远程仓库:https://jitpack.iomaven { url 'https://jitpack.io' }}
}
  • 如果你的 Gradle 配置是 7.0 及以上,则需要在 settings.gradle 文件中加入
dependencyResolutionManagement {repositories {// JitPack 远程仓库:https://jitpack.iomaven { url 'https://jitpack.io' }}
}
  • 配置完远程仓库后,在项目 app 模块下的 build.gradle 文件中加入远程依赖
android {// 支持 JDK 1.8compileOptions {targetCompatibility JavaVersion.VERSION_1_8sourceCompatibility JavaVersion.VERSION_1_8}
}dependencies {// 网络请求框架:https://github.com/getActivity/EasyHttpimplementation 'com.github.getActivity:EasyHttp:12.2'// OkHttp 框架:https://github.com/square/okhttp// noinspection GradleDependencyimplementation 'com.squareup.okhttp3:okhttp:3.12.13'
}
  • 需要注意的是:由于使用了 Lifecycle 特性,目前框架只支持 AndroidX 的项目集成
生命周期自动管控介绍
  • 框架可以自动管控请求的生命周期,无需第三方调用者封装和适配,这块其实用到 Jetpack 中的一个 Lifecycle 特性,框架将网络请求和 LifecycleOwner 绑定在一起,当 LifecycleOwner 触发 destroy 时,框架会对绑定的网络请求进行 cancel 处理。相比较传统的写法,这种方式更加简单快捷,同时有 Lifecycle 特性的加持,灵活也会更高,因为我们完全不需要关心请求的主体是 Activity 还是 Fragment,又或者是其他类型的对象。
  • 但并不是完全没有缺点,因为 Lifecycle 特性是 AndroidX 包中的新特性,如果需要使用的话,当前项目必须基于 AndroidX 库开发的才可以集成。
  • 都说代码是最好的老师,具体实现的代码如下:
public final class HttpLifecycleManager implements LifecycleEventObserver {/*** 绑定组件的生命周期*/public static void register(LifecycleOwner lifecycleOwner) {lifecycleOwner.getLifecycle().addObserver(new HttpLifecycleManager());}@Overridepublic void onStateChanged(@NonNull LifecycleOwner source, @NonNull Lifecycle.Event event) {if (event != Lifecycle.Event.ON_DESTROY) {return;}// 移除监听source.getLifecycle().removeObserver(this);// 取消请求EasyHttp.cancel(source);}
}
极速下载功能介绍
  • 其实本质上面和极速秒传的原理是差不多的,只不过一个是上传,另一个是下载。而极速上传是将本地文件的 MD5 值和服务器上面的进行比对,如果服务器存在这个 MD5 值的文件,就将这份文件映射一份到这个用户的网盘上面,从而达到了极速秒传的效果。而极速下载也是同理,根据后台给的文件 MD5 值和本地文件进行对比,如果存在这个文件并且 MD5 值一致,证明这个文件和服务器上面的文件是一致的,那么就直接跳过下载,直接回调下载成功监听。
  • 极速秒传和极速下载两者相同的共同点就是,利用缓存来达到极速的效果,只不过一者通过的是服务器的缓存,另一者使用的是本地的缓存,这两者都有一个共同的特点,就是减少服务器的压力,节省用户的等待时间。
代码定位功能介绍
  • 框架会在日志打印中输出在网络请求的代码位置,这样开发者可以直接通过点击 Log 来定位是在哪个类哪行代码,这样可以极大提升我们排查问题的效率,特别是在请求一多且业务复杂的情况下,我相信没有一个人会拒绝这样的功能。
延迟发起请求功能介绍
  • 通常我们都有这样一种需求,就是我们希望发起网络请求,但是希望它不是及时,而是经过一定的延迟才去请求,EasyHttp 针对这种场景进行了考虑并封装,我们可以这样写来做到这种效果:
EasyHttp.post(this).api(new XxxApi()).delay(3000).request(new HttpCallbackProxy<HttpData<XxxBean>>(this) {@Overridepublic void onHttpSuccess(HttpData<XxxBean> result) {}});
  • 延迟请求功能不仅支持同步和异步请求,还支持下载请求延迟。
http://www.yidumall.com/news/8674.html

相关文章:

  • 常州市政府建设局网站网站seo优化技能
  • 郑州中原区最新疫情seo下拉优化
  • 网站导航条设计欣赏关于进一步优化当前疫情防控措施
  • 免费行情网站链接百度网络优化推广公司
  • 政府门户网站建设背景意义seo知名公司
  • 门窗网站模板百度首页网址
  • 网站建设需要什么硬件如何屏蔽百度广告推广
  • 网站显示已备案上海空气中检测出病毒
  • 酒店网站做的比较好的青岛关键词网站排名
  • 做网站需要接口么建站推广网站
  • 企业网站建设需要准备什么产品推广方案怎么做
  • 思途旅游网站建设网站推广优化网址
  • 学销售从哪里开始北京seo顾问
  • 公司网站一年多少钱友情链接检测平台
  • 做网站送白酒百度爱采购官网
  • 网站域名费多少百度百科推广费用
  • 公司网站自己可以学习优化吗今日热点新闻大事件
  • 克拉玛依住房和建设局网站seo兼职平台
  • 微信订阅号关键网站专业关键词排名优化软件
  • thinkcmf 做企业网站网上商城推广13种方法
  • 安徽金路建设集团有限公司网站百度收录提交网址
  • 如何 做网站的推广免费网站推广
  • 青岛php网站建设重庆森林影评
  • 网站设计两边为什么要留白新闻网站排行榜
  • 晋州外贸网站建设100个成功营销策划案例
  • html 旅游网站最近的国际新闻大事
  • 网店都有哪些平台搜索引擎优化服务
  • 如何做网站 百度口碑营销的概念
  • 学做网站论坛vip视频什么软件可以弄排名
  • o2o网站有哪些网络营销方式哪些