Okkt —— 一款針對(duì)kotlin語言封裝的Okhttp網(wǎng)絡(luò)請(qǐng)求庫

okhttpkt

OKKT

專門針對(duì)kotlin開發(fā)的okhttp 的tool

幾大特點(diǎn):

1、針對(duì)文件請(qǐng)求,重寫okio計(jì)算方案,可實(shí)時(shí)顯示請(qǐng)求文件進(jìn)度,防止okhttp在直接做請(qǐng)求文件的時(shí)候采取的直傳策略,從而導(dǎo)致下載文件間隔過長。

2、利用協(xié)程完全替代rxjava做主線程通訊以及線程調(diào)度,增加程序的交互效率。

3、注解注入,完美的api流程,使你毋須對(duì)類型進(jìn)行轉(zhuǎn)換,直接上手

4、純粹的kotlin代碼,利用ktx語法糖結(jié)合代碼達(dá)成十分簡約的書寫方式

5、擁有工廠模式與單例模式的config方式,甚至擴(kuò)展了一個(gè)接口用來自定義自己的client做自定義解決方式

簡單案例:

使用前提導(dǎo)入:

implementation 'com.stormkid:okhttpkt:1.0.9.2'

1、全局注冊(cè)

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)
    }
}

注意:任何實(shí)現(xiàn)CallbackRule接口類必須把CallbackRule接口當(dāng)作第一個(gè)接口來實(shí)現(xiàn)!注意書寫順序,切勿寫成:"
class Main: Serilizable,CallbackRule<YourDataClass>"

WIKI

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容