CloseableHttpClient_nginx配置请求转发

CloseableHttpClient_nginx配置请求转发前言OkHttp现在是谷歌官方推荐使用的网络请求框架,Glide配置使用OkHttp网络请求可以让图片加载时的网络请求也能使用OkHttp的灵活配置1.引入库以下为必须引入的库,添加之后syncproject等待库下


前言

OkHttp现在是谷歌官方推荐使用的网络请求框架,Glide配置使用OkHttp网络请求可以让图片加载时的网络请求也能使用OkHttp的灵活配置


1.引入库

以下为必须引入的库,添加之后sync project等待库下载完成

//Glide库 implementation 'com.github.bumptech.glide:glide:4.13.0' //java版本引入 annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0' //kotlin项目先引入plugin,然后是用kapt引入,切记,不然可能导致无法生成自定义GlideModule的实现类 plugins { 
    id 'kotlin-kapt' } kapt 'com.github.bumptech.glide:compiler:4.13.0' // Glide集成OkHttp时需要使用的库,库已经将需要适配Okhhtp的大部分代码封装 implementation "com.github.bumptech.glide:okhttp3-integration:4.13.0" 

2.编写代码

  • 自定义类继承AppGlideModule
  • 给自定义类添加注解@GlideModule
  • 添加代码实现如下:
import com.bumptech.glide.Glide import com.bumptech.glide.Registry import com.bumptech.glide.annotation.GlideModule import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader import com.bumptech.glide.module.AppGlideModule import com.bumptech.glide.load.model.GlideUrl @GlideModule public class OkHttpModule: AppGlideModule() { 
    override fun registerComponents(context: Context, glide: Glide, registry: Registry) { 
    val client: OkHttpClient = OkHttpClient.Builder().build() registry.replace(GlideUrl::class.java, InputStream::class.java, OkHttpUrlLoader.Factory(client)) } } 
  • Make Project等待注解处理器自动生成代码,自动生成的代码在build/generated/source/kapt/debug/com/bumptech/glide/GeneratedAppGlideModuleImpl.java
  • 检查上述文件夹对应的类是否生成,如果没有生成代表集成哪里出了问题。没有生成类的情况下配置的OkHttp是不生效的,切记。

3.可能遇到的问题

为什么我的类没有生成,配置无作用?

  • 注解是否添加,注解是必须的,注解处理器需要扫描这个注解生成模板代码

  • implementation "com.github.bumptech.glide:okhttp3-integration:4.13.0此库必须集成

  • 注意自定类的存放位置一定是在你程序包名一级目录下面,不能在任何二级包里面,自定义AppGlideModule命名随意

  • 记住引入处理器的时候,java项目要用annotationProcessor,kotlin项目要用kapt,不然自定义类的实现类可能没法自动生成代码

今天的文章
CloseableHttpClient_nginx配置请求转发分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60255.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注