使用注解@StringDef替代枚举-以切换环境为例
来源:互联网 发布:php 反射类好处 编辑:程序博客网 时间:2024/06/05 15:21
1. build.gradle添加依赖(Android Studio 3.0):
compile 'com.android.support:support-annotations:25.3.1'// 25.3.1 为编译的Android Support Library版本
2. 以一个切换环境的方法为例:
public class EnvironmentConfig { public static String API_VERSION_NAME = "A"; public static String API_DOMAIN = "https://api-alpha.xxx.com"; public final static String ALPHA = "A"; public final static String UAT = "U"; public final static String PRODUCT= ""; @StringDef({ALPHA, UAT, PRODUCT}) @Retention(RetentionPolicy.SOURCE) public @interface Environment { } public static void initEnvironment(@Environment String type) { API_VERSION_NAME = type; switch (type) { case ALPHA: { API_DOMAIN = "https://api-alpha.xxx.com"; } case UAT: { API_DOMAIN = "https://api-uat.xxx.com"; } break; default: { API_DOMAIN = "https://api.xxx.com"; } break; } }}
3. 使用
由于项目采用组件化开发,涉及公司多个app,所有考虑切换环境合理解耦。在Application对环境进行初始化。eg:
public class MainApplication extends BaseApplication { @Override public void initData() { super.initData(); EnvironmentConfig.initEnvironment(EnvironmentConfig.ALPHA); }}
参考:
- Android Support库——support annotations
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
阅读全文
0 0
- 使用注解@StringDef替代枚举-以切换环境为例
- 使用注解@StringDef替代枚举-以切换环境为例
- Java Enum枚举替代方案--Android IntDef/StringDef Annotation注解
- 使用注解@IntDef替代枚举
- android使用注解替代枚举
- Android中使用注解替代枚举
- 使用注解@IntDef替代枚举学习
- Android IntDef与StringDef注解
- 以@Resource为例,透析注解的本质,spring中是如何使用注解的
- 切换Anaconda下安装的python的环境(以python3.5为例)
- 用Indef和StringDef代替枚举
- windows中不同版本JDK环境的切换(以JDK1.7和JDK1.8为例)
- Java环境搭建,以win10为例
- Java环境搭建,以win10为例
- Java环境搭建,以win10为例
- @IntDef的使用(替代枚举)
- struts2使用注解替代struts.xml配置文件
- ST Nucleo mbed套件开发 一 MBED环境使用 以Nucleo-F401为例
- Andriod布局
- 【Scikit-Learn 中文文档】半监督学习
- leetcode 239. Sliding Window Maximum
- 一个PHP文件搞定支付宝系列之当面付(扫码支付)
- Java反射机制与工厂模式
- 使用注解@StringDef替代枚举-以切换环境为例
- Android正确获取外网ip的方法。
- 架构师的素养
- Qt的资源文件
- 【Scikit-Learn 中文文档】概率校准
- Vue学习笔记(二)
- 网络优化之net.ipv4.tcp_tw_recycle参数
- Django部署——uwsgi+Nginx(超详细)
- 深入HDFS:Hadoop之分布式文件系统