Android环境配置之使用properties文件

在进行环境切换时候,我们可以有多种方式,比如

  • 直接适用常量管理类
  • 利用Gradle实现app的环境分离
  • 使用配置文件的形式
【Android环境配置之使用properties文件】其中,
第一种方式比较适合环境稳定/单一的情况,如果涉及多种环境,比如Alpha/UAT/Production等的情况,管理起来就不是很方便了,所以要考虑第二和第三种方式,用Gradle的方式,可以参考Multi-flavor variants,下面以properties文件为例.
1.在assets文件夹下,新建环境配置文件apiurl.properties,如下:
以Alpha和UAT为例,切换时只需注释掉不用的环境,即可.
#### Alpha #### #versionName=A #memberApp=http://xxx.alpha.com/member-app/v1/api #designApp=http://xxx.alpha/design-app/v1/api#### UAT #### versionName=A memberApp=http://xxx.uat.com/member-app/v1/api designApp=http://xxx.uat.com/design-app/v1/api

2. 读取apiurl.properties
/** * 运行环境的管理切换类. * @author liuhea * @date 2016-6-6 . */ public class ApiManagerV2 {public static final String PROPERTY_PATH = "apiurl.properties"; private static final String MEMBER_APP = "memberApp"; private static final String DESIGN_APP = "designApp"; private static final String VERSION_NAME = "versionName"; /*登录地址*/ public final static String LOGIN_PATH = getUrlPath(LOGIN_URL); /*member-app*/ public final static String MEMBER_PATH = getUrlPath(MEMBER_APP); /*design-app*/ public final static String DESIGN_PATH = getUrlPath(DESIGN_APP); /** * 获取配置文件中对应的URL地址 * */ private static String getUrlPath(String propKey) { String urlPath = (String) PropUtil.loadAssetsProperties(AdskApplication.getInstance(), PROPERTY_PATH).get(propKey); return urlPath; } }

/** * 读取配置文件的工具类 . * @author liuhea . * @date 2016-6-6 . */ public class PropUtil { /** * 读取assets文件夹下的文件 */ public static Properties loadAssetsProperties(Context context, String arg) { Properties prop = null; prop = new Properties(); //first load default properties try { prop.load(context.getAssets().open(arg)); } catch (IOException e) { e.printStackTrace(); } return prop; }/** * 读取Res文件夹的文件 */ public static Properties loadResProperties(Context context, int id) { Properties prop = new Properties(); //first load default properties try { prop.load(context.getResources().openRawResource(id)); } catch (IOException e) { e.printStackTrace(); } return prop; } }

    推荐阅读