前言
在开发过程中,我们时常需要在不同的环境中进行调试和测试,例如测试过程中,测试环境和生产环境之间快速切换。尤其在涉及到网络请求以及H5页面的开发过程中,频繁地切换环境不仅费时费力,也容易引发疏漏和错误。
DebugTools是一个设计开发者支撑工具库。目前支持的功能有:
- 查看崩溃日志
- 接口抓包工具
- 打开/关闭FPS
- 环境切换
- 项目地址:github.com/Peakmain/De…
今日我们将介绍环境切换功能,以下是环境切换的效果
How To
- Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Step 2. Add the dependency
dependencies {
implementation "com.github.Peakmain:DebugTools:+"
}
如何使用
一、initEnvironmentExchangeBeanList:初始化http环境列表
fun initEnvironmentExchangeBeanList(
environmentExchangeBeans: MutableList<EnvironmentExchangeBean>,
selectEnvironmentCallback: ((EnvironmentExchangeBean) -> Unit)? = null,
)
- 第一个参数environmentExchangeBeans表示http环境列表
- 第二个参数表示选中某一个http环境的回调
二、initH5EnvironmentExchangeBeanList:初始化http环境列表
fun initH5EnvironmentExchangeBeanList(
environmentExchangeBeans: MutableList<EnvironmentExchangeBean>,
selectH5EnvironmentCallback: ((EnvironmentExchangeBean) -> Unit)? = null,
)
- 第一个参数environmentExchangeBeans表示H5环境列表
- 第二个参数表示选中某一个H5环境的回调
demo如下
var mEnvironmentExchangeBeans: MutableList<EnvironmentExchangeBean> = ArrayList()//初始化原生环境列表
var mH5EnvironmentExchangeBeans: MutableList<EnvironmentExchangeBean> = ArrayList()//初始化H5环境列表
findViewById<TextView>(R.id.tv_name).setOnClickListener {
DebugToolsManager.instance
.initEnvironmentExchangeBeanList(mEnvironmentExchangeBeans) {
ToastUtils.showLong("当前选中的环境是:${it.title},url是:${it.url}")
}.initH5EnvironmentExchangeBeanList(mH5EnvironmentExchangeBeans){
LogUtils.e("当前选中的H5环境是:${it.title},url是:${it.url}")
ToastUtils.showLong("当前选中的H5环境是:${it.title},url是:${it.url}")
}
.show(this)
}
- EnvironmentExchangeBean有三个参数:title(标题)、url(http或者H5链接)、isSelected(是否被选中)
data class EnvironmentExchangeBean(
val title: String,
val url: String,
var isSelected: Boolean = false
)
- 当http环境列表有多个环境的isSelected被设置为true,则只有第一个默认是被设置为true,其他则会被设置为false。H5环境列表也是同理。
总结
- 一键切换Http和H5环境功能它不仅简化了开发者的工作流程,也提升了项目的开发效率和质量。
- 如果你觉得文章和项目对你有点帮助,欢迎点赞来踩哦,你的star是我的动力