美文网首页Android开发kotlin开源工具技巧
Okkt —— 一款针对kotlin语言封装的Okhttp网络请

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

作者: stormKid | 来源:发表于2019-07-01 16:28 被阅读77次

    okhttpkt

    OKKT

    专门针对kotlin开发的okhttp 的tool

    几大特点:

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

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

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

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

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

    简单案例:

    使用前提导入:

    implementation 'com.stormkid:okhttpkt:1.0.3.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

    相关文章

      网友评论

        本文标题:Okkt —— 一款针对kotlin语言封装的Okhttp网络请

        本文链接:https://www.haomeiwen.com/subject/wsfncctx.html