Home

Awesome

BaseUrlManager

Download MavenCentral JCenter JitPack CI CircleCI API License

BaseUrlManager for Android 的设计初衷主要用于开发时,有多个环境需要打包APK的场景,通过BaseUrlManager提供的BaseUrl动态设置入口,只需打一 次包,即可轻松随意的切换不同的开发环境或测试环境。在打生产环境包时,关闭BaseUrl动态设置入口即可。

妈妈再也不用担心因环境不同需要打多个包的问题,从此告别环境不同要写一堆配置的烦恼,真香。

配合 RetrofitHelper 动态改变BaseUrl一起使用更香。

Gif 展示

Image

你也可以直接下载 演示App 体验效果

引入

Gradle:

  1. 在Project的 build.gradlesetting.gradle 中添加远程仓库

    repositories {
        //...
        mavenCentral()
    }
    
  2. 在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相关的扩展帮助类。

版本记录

v1.2.0:2022-1-25 (从v1.2.0开始发布至 MavenCentral)

v1.1.1:2021-1-28

v1.1.0:2020-12-4

v1.0.1:2019-7-5

v1.0.0:2019-6-11 支持AndroidX版本

赞赏

如果您喜欢BaseUrlManager,或感觉BaseUrlManager帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:

<p>您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee: <div> <img src="https://jenly1314.github.io/image/page/rewardcode.png"> </div>

关于我

我的博客GitHubGiteeCSDN博客园
<a title="我的博客" href="https://jenly1314.github.io" target="_blank">Jenly's Blog</a><a title="GitHub开源项目" href="https://github.com/jenly1314" target="_blank">jenly1314</a><a title="Gitee开源项目" href="https://gitee.com/jenly1314" target="_blank">jenly1314</a><a title="CSDN博客" href="http://blog.csdn.net/jenly121" target="_blank">jenly121</a><a title="博客园" href="https://www.cnblogs.com/jenly" target="_blank">jenly</a>

联系我

微信公众号Gmail邮箱QQ邮箱QQ群QQ群
Jenly666<a title="给我发邮件" href="mailto:jenly1314@gmail.com" target="_blank">jenly1314</a><a title="给我发邮件" href="mailto:jenly1314@vip.qq.com" target="_blank">jenly1314</a><a title="点击加入QQ群" href="https://qm.qq.com/cgi-bin/qm/qr?k=6_RukjAhwjAdDHEk2G7nph-o8fBFFzZz" target="_blank">20867961</a><a title="点击加入QQ群" href="https://qm.qq.com/cgi-bin/qm/qr?k=Z9pobM8bzAW7tM_8xC31W8IcbIl0A-zT" target="_blank">64020761</a>
<div> <img src="https://jenly1314.github.io/image/page/footer.png"> </div>