android - 为什么在 Retrofit 中使用 CallAdapter.factory?
问题描述
1.为什么在Retrofit中使用CallAdapter.factory?2.您可以解释以下方法的功能非常感谢您的时间
class LiveDataCallAdapterFactoryForRetrofit : CallAdapter.Factory() {
override fun get(
returnType: Type,
annotations: Array<Annotation>,
retrofit: Retrofit
): CallAdapter<*, *>? {
if (getRawType(returnType) != LiveData::class.java) {
return null
}
val observableType = getParameterUpperBound(0, returnType as ParameterizedType)
val rawObservableType = getRawType(observableType)
require(rawObservableType == Resource::class.java) { "type must be a resource" }
require(observableType is ParameterizedType) { "resource must be parameterized" }
val bodyType = getParameterUpperBound(0, observableType)
return LiveDataCallAdapter<Any>(bodyType)
}
解决方案
推荐阅读
- java - 根据 JAVA 中的配置值获取不同的类
- python - MYsql 语句中的 python 2.7 变量替换问题
- react-native - 在本机反应中显示内联文本
- javascript - 如何将数组中的文本随机合并到javascript中的字符串?
- python - 是否可以从 for 循环中打印出唯一的第一个输出?
- windows - MongoDB shell 4.0.3 Windows 无法连接到 MongoDB 副本集:SSLHandshakeFailed: QueryContextAttributes for connection info failed
- c++ - 在 C++ 中,在返回时使用移动操作是什么意思?
- codeigniter - 使用codeigniter将特定ID传递给模型并从数据库中获取数据?
- java - Cassandra 查询无法解析获取数据
- docker - 如何在 Jenkins 声明式管道中的代理设置期间运行某些内容?