前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Okkt —— 一款针对kotlin语言封装的Okhttp网络请求库

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

作者头像
stormKid
发布2019-07-03 11:26:54
3.1K0
发布2019-07-03 11:26:54
举报
文章被收录于专栏:计算机编程计算机编程

okhttpkt

OKKT

专门针对kotlin开发的okhttp 的tool

几大特点:

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

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

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

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

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

简单案例:

使用前提导入:

代码语言:javascript
复制
implementation 'com.stormkid:okhttpkt:1.0.2.1'

1、全局注册

代码语言:javascript
复制
class BaseApplication:Application (){
    override fun onCreate() {
        super.onCreate()
        Okkt.instance.setBase("http://xxxx.com").initHttpClient()
    }
}

2、get

代码语言:javascript
复制
   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

代码语言:javascript
复制
  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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • okhttpkt
    • 几大特点:
      • 简单案例:
        • 使用前提导入:
        • 1、全局注册
        • 2、get
        • 3、implement get
    • WIKI
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档