BaseUrlManager

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

Download JitPack CI CircleCI License Blog QQGroup

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

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

AndroidX version

Gif 展示

Image

引入

Maven:

<dependency>
  <groupId>com.king.base</groupId>
  <artifactId>base-url-manager</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

Gradle:

//AndroidX 版本
implementation 'com.king.base:base-url-manager:1.0.1-androidx'

//Android 版本 
implementation 'com.king.base:base-url-manager:1.0.1'

Lvy:

<dependency org='com.king.base' name='base-url-manager' rev='1.0.1'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>
如果 Gradle 出现 implementation 失败的情况,可以在 Project 的 build.gradle 里面添加如下:(也可以使用上面的 GitPack 来 implementation)
allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/jenly/maven' }
    }
}

引入的库:

//AndroidX
api 'androidx.appcompat:appcompat:1.0.0+'
compileOnly 'androidx.recyclerview:recyclerview:1.0.0+'

//Android
api 'com.android.support:appcompat-v7:28.0.0'
compileOnly 'com.android.support:recyclerview-v7:28.0.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
    mBaseUrlManager = new BaseUrlManager(this);

    //获取 baseUrl
    String baseUrl = mBaseUrlManager.getBaseUrl();

    //也可以通过暴露方法获取 BaseUrl
    /**
     * 获取 baseUrl
     * @return {@link #mBaseUrlManager#getBaseUrl()}
     */
    public String getBaseUrl() {
        return mBaseUrlManager.getBaseUrl();
    }

Step.3 提供动态配置 BaseUrl 的入口(通过 Intent 跳转到 BaseUrlManagerActivity 界面)

    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 时,只需通过 BaseUrlManager 刷新下数据,重新获取 baseUrl 即可

    //刷新数据
    mBaseUrlManager.refreshData();

    //获取 baseUrl
    mBaseUrlManager.getBaseUrl();

更多使用详情,请查看app中的源码使用示例或直接查看API 帮助文档

版本记录

v1.0.1:2019-7-5

  • 移除 strings.xml 资源中的 app_name
  • 支持不依赖刷新数据,直接通过 onActivityResult 获取 baseUrl 信息

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

  • BaseUrlManager 初始版本

赞赏

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

您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

Github: jenly1314

加入 QQ 群: 20867961

Support Me
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea