专栏首页计算机编程Okkt —— 一款针对kotlin语言封装的Okhttp网络请求库

Okkt —— 一款针对kotlin语言封装的Okhttp网络请求库

okhttpkt

OKKT

专门针对kotlin开发的okhttp 的tool

几大特点:

1、针对文件请求,重写okio计算方案,可实时显示请求文件进度,防止okhttp在直接做请求文件的时候采取的直传策略,从而导致下载文件间隔过长。

2、利用协程完全替代rxjava做主线程通讯以及线程调度,增加程序的交互效率。

3、注解注入,完美的api流程,使你毋须对类型进行转换,直接上手

4、纯粹的kotlin代码,利用ktx语法糖结合代码达成十分简约的书写方式

5、拥有工厂模式与单例模式的config方式,甚至扩展了一个接口用来自定义自己的client做自定义解决方式

简单案例:

使用前提导入:

implementation 'com.stormkid:okhttpkt:1.0.2.1'

1、全局注册

class BaseApplication:Application (){
    override fun onCreate() {
        super.onCreate()
        Okkt.instance.setBase("http://xxxx.com").initHttpClient()
    }
}

2、get

   fun doGet(){
         Okkt.instance.Builder().setUrl("/part").get(object:CallbackRule<YourDataClass>{
            override suspend fun onSuccess(entity: YourDataClass, flag: String) {
                
            }

            override suspend fun onFailed(error: String) {
            }

        })
  
   }

3、implement get

  class MainActivity : AppCompatActivity(),CallbackRule<YourDataClass> ,Serializable{
    override suspend fun onSuccess(entity: YourDataClass, flag: String) {
    }

    override suspend fun onFailed(error: String) {
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Okkt.instance.Builder().setUrl("/part").get(this)
    }
}

注意:任何实现CallbackRule接口类必须把CallbackRule接口当作第一个接口来实现!注意书写顺序,切勿写成: class Main: Serilizable,CallbackRule<YourDataClass>

WIKI

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • win环境下 Bazel 离线安装教程

    在这里要说明一下,博主辛辛苦苦寻找解决途径,发现网上大多数博客根本没有顾及到这类离线下载配置和相关条件,反复倒腾过后总结里以下步骤:

    stormKid
  • 点击显示更多文本自定义控件

    写在前面的话: 在正常项目流程中,我们很多情况下会碰到点击显示更多文本,这样可以利于页面变化加载,点击显示更多可能会非常常用,现在博主利用自己的闲暇时间来一点一...

    stormKid
  • 批处理dtsmake【仅适合win系统】

    我们先找到dtsmake 的npm 包的链接:https://www.npmjs.com/package/dtsmake 官方wiki实在是太长,我们只看其中...

    stormKid
  • Android Native 内存泄漏系统化解决方案

    导读:C++内存泄漏问题的分析、定位一直是Android平台上困扰开发人员的难题。因为地图渲染、导航等核心功能对性能要求很高,高德地图APP中存在大量的C++代...

    砸漏
  • 学不会的JVM

    首先我们写的源文件叫.java文件,然后点击IDE的运行在硬盘会生成.class字节码文件,接着Java虚拟机从硬盘加载.class字节码文件,再者内部操作和解...

    晚上没宵夜
  • iOS 手机运动CoreMotion

    清墨
  • JVM问题典型案例定位学习

    下面这4个案例来自大神“你假笨”(任职阿里期间,花名:寒泉子)在qcon上的分享,记录一下:

    菩提树下的杨过
  • 图文分析HA软件实现双机热备的工作(一)

    目前数据库服务的双机甚至多机热备的实现方式很多,如Oracle Rac、读写分离、主备、双机HA方式。实现Oracle Rac与双机HA的实现原理类似,...

    希望的田野
  • 从《2015年中国互联网安全报告》看安全趋势发展(下载)

    大数据文摘
  • UML图——用例图

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo

扫码关注云+社区

领取腾讯云代金券