Skip to content

Latest commit

 

History

History
74 lines (67 loc) · 3.82 KB

README.md

File metadata and controls

74 lines (67 loc) · 3.82 KB

KilleTom_RetrofitClientMaster

依赖方式:https://jitpack.io/#KilleTom/KilleTom_RetrofitClientMaster 该网站提供多种可选择版本进行依赖使用

//初始化方式
        RetrofitClient.getmInstance().
                setBaseUrl("").
                setRetrofitClientLog(true, "").
                setOkHttpConnectTimeOut(10, TimeUnit.SECONDS).
                setOKHttpReadTimeOut(10, TimeUnit.SECONDS).
                setOkHttpWriteTimeOut(10, TimeUnit.SECONDS).
                setOpenDebugLogMessage(true).
                initRetrofit(getApplicationContext());  
                
//普通请求
  RetrofitClient.getmInstance().setBaseUrl("http://v.juhe.cn/toutiao/").initRetrofit(this)
        RxApiSubscriptionManger.getRxApiSubscriptionManger().add(
                "NewsResult",
                RetrofitClient.getmInstance().easliySubscription(
                        RetrofitClient.getmInstance().create(Test::class.java).getNews(
                                "shehui", "13728f03ef29af183184d6d30dc6ae43"),
                        object : ObserverTransformEmitter<NewsResult, RetrofitClientBaeApiException>() {
                            override fun call(t: NewsResult?) {
                                setMessage(Gson().toJson(t))
                            }

                            override fun failed(retCode: Int, msg: String?) {
                                logI("failedCode:$retCode\nMessage:$msg")
                                setMessage("failedCode:$retCode\nMessage:$msg")
                            }
                        }))
//取消请求
        RxApiSubscriptionManger.getRxApiSubscriptionManger().cancel(tag)
//文件下载
        lateinit var isDownload: BooleanArray
        lateinit var longlist: LongArray
        DownLoadClient.getDownLoadClient().initApplicationContext(this).downLoadClientConfig.setChangeBaseUrl("http://github.com//KilleTom/").setFileUrl("KilleTomRxMaterialDesignUtil/archive/master.zip").setDebug(true).setLogTag("易庞宙—killeTom").setDownLoadThreadsSize(1).setFileName("myGitHub.zip").setFileSavePath(this@MainActivity.filesDir.path + "/dowland").downStart(
                DownLoadClient.RequestWay.REQUEST_POST,
                { code, callMessage -> logI("code:$code\nMessage:$callMessage") },
                object : DownLoadClient.DownloadListener {
                    //文件下载百分比比回调
                    override fun filePercent(contentData: Long, downloadData: Long, Percent: Double) {

                    }

                    //文件下载完成回调
                    override fun fileFinshDone() {
                        logI("done")
                    }

                    //每一个线程下载的数据回调
                    override fun callData(index: Int, indexChangeData: Long, contentData: Long, rangeSize: Int) {
                        longlist[index] = indexChangeData
                        logI("index:$index\nindexChangeData:$indexChangeData\ncontentData:$contentData\nrangeSize:$rangeSize")
                    }

                    //下载的前的回调
                    override fun rangeListInit(rangeSize: Int) {
                        longlist = LongArray(rangeSize, init = { 0 })
                        isDownload = BooleanArray(rangeSize, init = { false })
                    }

                    //每个线程下载完成会的回调。多线程有多次回调、单线程只回调一次
                    override fun done(index: Int, isDone: Boolean, rangeSize: Int) {
                        isDownload[index] = isDone
                        var isAllDone = true
                        isDownload.forEach { b: Boolean -> if (!b) isAllDone = b }
                        if (isAllDone) {
                            logI("done")
                        }
                    }
                })