Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jenly1314/baseurlmanager
:sailboat: BaseUrlManager的设计初衷主要用于开发时,有多个环境需要打包APK的场景,通过BaseUrlManager提供的BaseUrl动态设置入口,只需打一次包,即可轻松随意的切换不同的开发环境或测试环境。在打生产环境包时,关闭BaseUrl动态设置入口即可。
https://github.com/jenly1314/baseurlmanager
base-url-manager baseurl baseurl-domain developer-tools http-url test testing-tools
Last synced: about 21 hours ago
JSON representation
:sailboat: BaseUrlManager的设计初衷主要用于开发时,有多个环境需要打包APK的场景,通过BaseUrlManager提供的BaseUrl动态设置入口,只需打一次包,即可轻松随意的切换不同的开发环境或测试环境。在打生产环境包时,关闭BaseUrl动态设置入口即可。
- Host: GitHub
- URL: https://github.com/jenly1314/baseurlmanager
- Owner: jenly1314
- License: mit
- Created: 2019-06-11T02:26:56.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-20T10:52:36.000Z (5 months ago)
- Last Synced: 2024-06-21T01:32:54.424Z (5 months ago)
- Topics: base-url-manager, baseurl, baseurl-domain, developer-tools, http-url, test, testing-tools
- Language: Java
- Homepage:
- Size: 9.45 MB
- Stars: 48
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BaseUrlManager
[![Download](https://img.shields.io/badge/download-App-blue.svg)](https://raw.githubusercontent.com/jenly1314/BaseUrlManager/master/app/release/app-release.apk)
[![MavenCentral](https://img.shields.io/maven-central/v/com.github.jenly1314/base-url-manager)](https://repo1.maven.org/maven2/com/github/jenly1314/base-url-manager)
[![JCenter](https://img.shields.io/badge/JCenter-1.1.1-46C018.svg)](https://bintray.com/beta/#/jenly/maven/base-url-manager)
[![JitPack](https://jitpack.io/v/jenly1314/BaseUrlManager.svg)](https://jitpack.io/#jenly1314/BaseUrlManager)
[![CI](https://app.travis-ci.com/jenly1314/BaseUrlManager.svg?branch=master)](https://app.travis-ci.com/github/jenly1314/BaseUrlManager)
[![CircleCI](https://circleci.com/gh/jenly1314/BaseUrlManager.svg?style=svg)](https://circleci.com/gh/jenly1314/BaseUrlManager)
[![API](https://img.shields.io/badge/API-16%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=16)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/mit-license.php)BaseUrlManager for Android 的设计初衷主要用于开发时,有多个环境需要打包APK的场景,通过BaseUrlManager提供的BaseUrl动态设置入口,只需打一
次包,即可轻松随意的切换不同的开发环境或测试环境。在打生产环境包时,关闭BaseUrl动态设置入口即可。> 妈妈再也不用担心因环境不同需要打多个包的问题,从此告别环境不同要写一堆配置的烦恼,真香。
> 配合[ **RetrofitHelper** ](https://github.com/jenly1314/RetrofitHelper)动态改变BaseUrl一起使用更香。
## Gif 展示
![Image](GIF.gif)> 你也可以直接下载 [演示App](https://raw.githubusercontent.com/jenly1314/BaseUrlManager/master/app/release/app-release.apk) 体验效果
## 引入
### Gradle:
1. 在Project的 **build.gradle** 或 **setting.gradle** 中添加远程仓库
```gradle
repositories {
//...
mavenCentral()
}
```2. 在Module的 **build.gradle** 里面添加引入依赖项
```gradle
//AndroidX 版本
implementation 'com.github.jenly1314:base-url-manager:1.2.0'
```
## 使用集成步骤代码示例 (示例出自于[app](app)中)
Step.1 在您项目中的AndroidManifest.xml中通过配置meta-data来自定义全局配置
```xml
```Step.2 在您项目Application的onCreate方法中初始化BaseUrlManager
```java
//获取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 新版本写法
```JAVA
BaseUrlManager.getInstance().startBaseUrlManager(this,SET_BASE_URL_REQUEST_CODE);```
v1.0.x 以前版本写法
```JAVA
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即可
```java//方式1:通过BaseUrlManager获取baseUrl
String baseUrl = BaseUrlManager.getInstance().getBaseUrl();
//方式2:通过data直接获取baseUrl
UrlInfo urlInfo = BaseUrlManager.parseActivityResult(data);
String baseUrl = urlInfo.getBaseUrl();```
更多使用详情,请查看[app](app)中的源码使用示例或直接查看 [API帮助文档](https://jitpack.io/com/github/jenly1314/BaseUrlManager/latest/javadoc/)
## 相关推荐
#### [RetrofitHelper](https://github.com/jenly1314/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
* 输入的url支持正则校验
* 后续版本只支持androidx,版本名称不再带有androidx标识#### v1.0.1:2019-7-5
* 移除strings.xml资源中的app_name
* 支持不依赖刷新数据,直接通过onActivityResult获取baseUrl信息#### v1.0.0:2019-6-11 [支持AndroidX版本](https://github.com/jenly1314/BaseUrlManager/tree/androidx)
* BaseUrlManager初始版本## 赞赏
如果您喜欢BaseUrlManager,或感觉BaseUrlManager帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:
## 关于我
| 我的博客 | GitHub | Gitee | CSDN | 博客园 |
|:------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------|
| Jenly's Blog | jenly1314 | jenly1314 | jenly121 | jenly |## 联系我
| 微信公众号 | Gmail邮箱 | QQ邮箱 | QQ群 | QQ群 |
|:-------------|:---------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------|
| [Jenly666](http://weixin.qq.com/r/wzpWTuPEQL4-ract92-R) | jenly1314 | jenly1314 | 20867961 | 64020761 |