【cronet】msnet,让你像Retrofit一样使用cronet

相关文章:

Gihub地址

msnet

类似 Retrofit ,这是对 okcronet 的封装,让你也能快速获得 HTTP3/QUIC 带来的优势。使用方式与 Retrofit 一致。甚至可以做到低成本迁移,只需替换对应的 import 引用即可。

引入

引入本库

scss 复制代码
    // 引入
    implementation("io.github.limuyang2:msnet:1.0.0")

引入 cronet 库

中国大陆内

scss 复制代码
    // 中国大陆建议的引入方式,其中包含了本地 so 库
    implementation("org.chromium.net:cronet-api:119.6045.31")
    implementation("org.chromium.net:cronet-common:119.6045.31")
    implementation("org.chromium.net:cronet-embedded:119.6045.31")

Google 官方提供的包不是最新的,如你想使用与chromium同步的最新版本,可以访问官方的存储桶获得google cloud

海外 Google Play

ruby 复制代码
    // 如果你是直接使用 Google Play 的海外app,不需要考虑中国大陆的情况,可以直接使用 Google Play 提供的 so,不需要在APK中打包 so 文件
    // 参考链接 https://developer.android.com/develop/connectivity/cronet/start#kts
    //
    implementation("com.google.android.gms:play-services-cronet:18.0.1")

使用

  • 创建接口
kotlin 复制代码
interface Api {

    @GET("lishi/api.php")
    fun todayCall(): Call<ResponseBody>

    @GET("lishi/api.php")
    @DisableCache
    suspend fun todayResponse(): Response<ResponseBody>
}
  • 发起请求
kotlin 复制代码
    // 创建 CronetClient
    val cronetClient = CronetClient.Builder(cronetEngine).build()

    // 创建 msnet
    val msnet = MSNet.Builder()
        .cronet(cronetClient)
        .baseUrl("https://api.oick.cn/")
        .build()

    // 获取接口
    val api = msnet.create<Api>()

    // 请求网络获取结果
    val response = api.todayResponse()

    // 输出结果
    println("Result: ${response.isSuccessful} \n ${response.body()?.string()}")

新的接口注解

  • DisableCache - 不使用缓存

  • PRIORITY - 请求优先级

从 Retrofit 迁移

只需全局替换引用即可

mac全局替换快捷键:shift + command + R

混淆

已自动包含收缩和混淆规则。

Thanks

retrofit

相关推荐
雨白3 小时前
Android 快捷方式实战指南:静态、动态与固定快捷方式详解
android
hqk3 小时前
鸿蒙项目实战:手把手带你实现 WanAndroid 布局与交互
android·前端·harmonyos
LING4 小时前
RN容器启动优化实践
android·react native
恋猫de小郭6 小时前
Flutter 发布官方 Skills ,Flutter 在 AI 领域再添一助力
android·前端·flutter
Kapaseker12 小时前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴12 小时前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭1 天前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab1 天前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe1 天前
Now in Android 架构模式全面分析
android·android jetpack
二流小码农1 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos