Skip to content

Commit

Permalink
sample: simplify debug
Browse files Browse the repository at this point in the history
  • Loading branch information
liangjingkanji committed Jul 16, 2023
1 parent 98dac53 commit b002bac
Show file tree
Hide file tree
Showing 127 changed files with 82 additions and 3,648 deletions.
22 changes: 2 additions & 20 deletions sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -62,32 +62,14 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation "androidx.recyclerview:recyclerview:1.2.0"
implementation "com.google.android.material:material:1.3.0"
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'

// ------------------------------网络请求-------------------------------------
implementation project(path: ":net")
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutine_version" // 协程基础库
implementation "com.github.bumptech.glide:glide:4.11.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutine_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine_version"
implementation "com.github.liangjingkanji:BRV:$brv_version" // 提供自动分页/缺省页/自动下拉刷新功能
implementation "com.github.chuckerteam.chucker:library:3.5.2" // 通知栏监听网络日志
implementation "com.github.chuckerteam.chucker:library:3.5.2"


// ------------------------------JSON解析-------------------------------------
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2" // JSON序列化库, 首选推荐使用
implementation "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:1.2.0" // protobuf序列化
implementation "com.squareup.moshi:moshi-kotlin:1.14.0" // JSON序列化库, 强校验, JSON字段缺失会导致解析异常, 故不推荐
implementation "org.jetbrains.kotlin:kotlin-reflect:1.7.10"
implementation 'com.google.code.gson:gson:2.8.6' // JSON序列化库, 会导致kotlin默认值无效, 故不推荐
implementation 'com.alibaba:fastjson:1.2.73' // JSON序列化库, 会导致kotlin默认值无效(除非引入kt-reflect), 不推荐

// ------------------------------其他库-------------------------------------
implementation 'com.github.liangjingkanji:StatusBar:2.0.2' // 透明状态栏
implementation 'com.github.liangjingkanji:debugkit:1.3.0' // 开发调试窗口工具
implementation "com.github.liangjingkanji:Tooltip:1.2.2" // 吐司工具
implementation 'com.github.liangjingkanji:Engine:0.0.74'
implementation "com.squareup.okhttp3:mockwebserver:4.10.0"
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
}
Binary file removed sample/src/main/assets/upload_file.jpg
Binary file not shown.
86 changes: 2 additions & 84 deletions sample/src/main/java/com/drake/net/sample/base/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,104 +3,22 @@ package com.drake.net.sample.base
import android.app.Application
import com.chuckerteam.chucker.api.ChuckerCollector
import com.chuckerteam.chucker.api.ChuckerInterceptor
import com.drake.brv.utils.BRV
import com.drake.net.NetConfig
import com.drake.net.cookie.PersistentCookieJar
import com.drake.net.interceptor.LogRecordInterceptor
import com.drake.net.okhttp.setConverter
import com.drake.net.okhttp.setDebug
import com.drake.net.okhttp.setDialogFactory
import com.drake.net.okhttp.setRequestInterceptor
import com.drake.net.sample.BR
import com.drake.net.sample.BuildConfig
import com.drake.net.sample.R
import com.drake.net.sample.constants.Api
import com.drake.net.sample.converter.SerializationConverter
import com.drake.net.sample.interceptor.GlobalHeaderInterceptor
import com.drake.net.sample.mock.MockDispatcher
import com.drake.statelayout.StateConfig
import com.drake.tooltip.dialog.BubbleDialog
import com.scwang.smart.refresh.footer.ClassicsFooter
import com.scwang.smart.refresh.header.MaterialHeader
import com.scwang.smart.refresh.layout.SmartRefreshLayout
import okhttp3.Cache
import java.util.concurrent.TimeUnit

class App : Application() {

override fun onCreate() {
super.onCreate()

NetConfig.initialize(Api.HOST, this) {
NetConfig.initialize("", this) {

// 超时设置
connectTimeout(30, TimeUnit.SECONDS)
readTimeout(30, TimeUnit.SECONDS)
writeTimeout(30, TimeUnit.SECONDS)

// 本框架支持Http缓存协议和强制缓存模式
cache(Cache(cacheDir, 1024 * 1024 * 128)) // 缓存设置, 当超过maxSize最大值会根据最近最少使用算法清除缓存来限制缓存大小

// LogCat是否输出异常日志, 异常日志可以快速定位网络请求错误
setDebug(BuildConfig.DEBUG)

// AndroidStudio OkHttp Profiler 插件输出网络日志
addInterceptor(LogRecordInterceptor(BuildConfig.DEBUG))

// 添加持久化Cookie管理
cookieJar(PersistentCookieJar(this@App))

// 通知栏监听网络日志
if (BuildConfig.DEBUG) {
addInterceptor(
ChuckerInterceptor.Builder(this@App)
.collector(ChuckerCollector(this@App))
.maxContentLength(250000L)
.redactHeaders(emptySet())
.alwaysReadResponseBody(false)
.build()
ChuckerInterceptor.Builder(this@App).collector(ChuckerCollector(this@App)).maxContentLength(250000L).redactHeaders(emptySet()).alwaysReadResponseBody(false).build()
)
}

// 添加请求拦截器, 可配置全局/动态参数
setRequestInterceptor(GlobalHeaderInterceptor())

// 数据转换器
setConverter(SerializationConverter())

// 自定义全局加载对话框
setDialogFactory {
BubbleDialog(it, "加载中....")
}
}

MockDispatcher.initialize()

initializeThirdPart()
}

/** 初始化第三方依赖库库 */
private fun initializeThirdPart() {

// 全局缺省页配置 [https://github.com/liangjingkanji/StateLayout]
StateConfig.apply {
emptyLayout = R.layout.layout_empty
loadingLayout = R.layout.layout_loading
errorLayout = R.layout.layout_error
setRetryIds(R.id.iv)
}


// 初始化SmartRefreshLayout, 这是自动下拉刷新和上拉加载采用的第三方库 [https://github.com/scwang90/SmartRefreshLayout/tree/master] V2版本
SmartRefreshLayout.setDefaultRefreshHeaderCreator { context, _ ->
MaterialHeader(context)
}

SmartRefreshLayout.setDefaultRefreshFooterCreator { context, _ ->
ClassicsFooter(context)
}

BRV.modelId = BR.m
}
}

12 changes: 0 additions & 12 deletions sample/src/main/java/com/drake/net/sample/constants/Api.kt

This file was deleted.

12 changes: 0 additions & 12 deletions sample/src/main/java/com/drake/net/sample/constants/UserConfig.kt

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit b002bac

Please sign in to comment.