BaseUrlManager
Introduction: :sailboat: BaseUrlManager 的设计初衷主要用于开发时,有多个环境需要打包 APK 的场景,通过 BaseUrlManager 提供的 BaseUrl 动态设置入口,只需打一次包,即可轻松随意的切换不同的开发环境或测试环境。在打生产环境包时,关闭 BaseUrl 动态设置入口即可。
Tags:
BaseUrlManager for Android 的设计初衷主要用于开发时,有多个环境需要打包 APK 的场景,通过 BaseUrlManager 提供的 BaseUrl 动态设置入口,只需打一 次包,即可轻松随意的切换不同的开发环境或测试环境。在打生产环境包时,关闭 BaseUrl 动态设置入口即可。
妈妈再也不用担心因环境不同需要打多个包的问题,从此告别环境不同要写一堆配置的烦恼,真香。
配合 RetrofitHelper 动态改变 BaseUrl 一起使用更香。
效果展示
你也可以直接下载 演示 App 体验效果
引入
Gradle:
在 Project 的 build.gradle 或 setting.gradle 中添加远程仓库
repositories { //... mavenCentral() }
在 Module 的 build.gradle 中添加依赖项
//AndroidX 版本 implementation 'com.github.jenly1314:base-url-manager:1.2.0'
使用
集成步骤代码示例 (示例出自于app中)
Step.1 在您项目中的 AndroidManifest.xml 中通过配置 meta-data 来自定义全局配置
<!-- 在你项目中添加注册如下配置 -->
<activity android:name="com.king.base.baseurlmanager.BaseUrlManagerActivity"
android:screenOrientation="portrait"
android:theme="@style/BaseUrlManagerTheme"/>
Step.2 在您项目 Application 的 onCreate 方法中初始化 BaseUrlManager
//获取 BaseUrlManager 实例(适用于 v1.1.x 版本)
mBaseUrlManager = BaseUrlManager.getInstance();
//获取 BaseUrlManager 实例(适用于 v1.0.x 旧版本)
mBaseUrlManager = new BaseUrlManager(this);
//获取 baseUrl
String baseUrl = mBaseUrlManager.getBaseUrl();
Step.3 提供动态配置 BaseUrl 的入口(通过 Intent 跳转到 BaseUrlManagerActivity 界面)
v.1.1.x 新版本写法
BaseUrlManager.getInstance().startBaseUrlManager(this,SET_BASE_URL_REQUEST_CODE);
v1.0.x 以前版本写法
Intent intent = new Intent(this, BaseUrlManagerActivity.class);
//BaseUrlManager 界面的标题
//intent.putExtra(BaseUrlManagerActivity.KEY_TITLE,"BaseUrl 配置");
//跳转到 BaseUrlManagerActivity 界面
startActivityForResult(intent,SET_BASE_URL_REQUEST_CODE);
Step.4 当配置改变了 baseUrl 时,在 Activity 或 Fragment 的 onActivityResult 方法中重新获取 baseUrl 即可
//方式 1:通过 BaseUrlManager 获取 baseUrl
String baseUrl = BaseUrlManager.getInstance().getBaseUrl();
//方式 2:通过 data 直接获取 baseUrl
UrlInfo urlInfo = BaseUrlManager.parseActivityResult(data);
String baseUrl = urlInfo.getBaseUrl();
更多使用详情,请查看app中的源码使用示例或直接查看 API 帮助文档
相关推荐
- RetrofitHelper 一个为 Retrofit 提供便捷配置多个 BaseUrl 相关的扩展帮助类。
- LogX 一个轻量而强大的日志框架;好用不解释。
- KVCache 一个便于统一管理的键值缓存库;支持无缝切换缓存实现。
- AndroidKTX 一个简化 Android 开发的 Kotlin 工具类集合。
- AndroidUtil 一个整理了 Android 常用工具类集合,平时在开发的过程中可能会经常用到。
- AppUpdater 一个专注于 App 更新,一键傻瓜式集成 App 版本升级的轻量开源库。
- MVVMFrame 一个基于 Google 官方推出的 JetPack 构建的 MVVM 快速开发框架。
- AppTemplate 一款基于 MVVMFrame 构建的 App 模板。
版本日志
v1.2.0:2022-1-25 (从 v1.2.0 开始发布至 MavenCentral)
- 优化细节
v1.1.1:2021-1-28
- 新增支持长按复制相关功能
v1.1.0:2020-12-4
- 输入的 url 支持正则校验
- 后续版本只支持 androidx,版本名称不再带有 androidx 标识
v1.0.1:2019-7-5
- 移除 strings.xml 资源中的 app_name
- 支持不依赖刷新数据,直接通过 onActivityResult 获取 baseUrl 信息
v1.0.0:2019-6-11 支持 AndroidX 版本
- BaseUrlManager 初始版本