借鉴 http://blog.csdn.net/myliuyx/article/details/40424455 修改

一、

1.创建properties文件,在Android 工程目录下 res/raw 新建一个 .prorperties 文件;或者在res/assests目录下创建
2.编写 配置信息
如果我们需要配置
UPDATE_PHOTO_URL 修改图片地址
NOTIC_MSAGES_URL 通知地址
IMAGEPAHT 图片地址
几个用户获取图片和通知的信息。

######开发环境配置########UPDATE_PHOTO_URL_DEBUG = http://xxx.xxx.xxx/servlet/MobileServletNOTICE_MSAGES_URL_DEBUG = http://xxx.xxx.xxx/msgPushTxt/IMAGEPATH_DEBUG = http://xxx.xxx.xx/img/HOST_DEBUG = 10.0.0.1######测试环境配置########UPDATE_PHOTO_URL_TEST = http://xxx.xxx.xxx/servlet/MobileServletNOTICE_MSAGES_URL_TEST = http://xxx.xxx.xxx/msgPushTxt/IMAGEPATH_TEST = http://xxx.xxx.xx/img/HOST_TEST = 10.0.0.1######生产环境配置########UPDATE_PHOTO_URL_PRO = http://xxx.xxx.xxx/servlet/MobileServletNOTICE_MSAGES_URL_PRO = http://xxx.xxx.xxx/msgPushTxt/IMAGEPATH_PRO = http://xxx.xxx.xx/img/

配置文件里面分别的给这个配置信息 加上 "_TEST"、"_DEBUG"、"_PRO" 来分别的区分 测试环境、开发环境、以及生产环境。

二、配置

1.首先需要再清单文件AndroidManifest.xml 下面 application 节点下面配置 一个meta-date节点

          

这个属性下面的 value 对应的 分别是 debug test pro 就是刚刚我们配置文件里面的 3个环境。

2.在application类中添加(loadConfig)配置方法和(getDevModelValue)使用方法,

public Properties property = null;//声明变量 /**     * 加载开发环境的配置文件     * @author zzw     * **/    private void loadConfig()    {        InputStream in = null;        property = new Properties();        try {            in = getResources().openRawResource(R.raw.app);            property.load(in);        } catch (IOException e) {            Log.e(TAG, "load properties error",e);        }finally{            if(in!=null){                try {                    in.close();                } catch (IOException e) {                }            }        }    } /**     * 获取开发模式     * @return 配置文件对应 的值。     * **/    public String getDevModelValue(String key){        ApplicationInfo appInfo=null;        String msg = "DEBUG";//默认是开发模式        try {            //获取meta-data 属性            appInfo=  this.getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);            //获取meta-data 下面DEV_MODEL 的值            msg  = appInfo.metaData.getString("DEV_MODEL");        } catch (PackageManager.NameNotFoundException e) {            Log.e(TAG, "获取开发模式失败", e);        }        //将Applicaition里面配置的(pro,test,debug)拼接成 UPDATE_PHOTO_URL _TEST        String configKey = key+"_"+ msg;        //获取配置文件对应的值        return property.getProperty(configKey.toUpperCase());    }

注:若properties文件放在assets目录下,则
Properties pro = new Properties();  InputStream is = context.getAssets().open("app.properties"); pro.load(is);

三、使用

String UPDATE_PHOTO_URL=MyApplication.getInstance().getDevModelValue("UPDATE_PHOTO_URL");// 图片上传地址  String NOTICE_MSAGES_URL=MyApplication.getInstance().getDevModelValue("NOTICE_MSAGES_URL");// 通知获取地址  

使用getDevModelValue 方法的时候 只需要 传入对应的前缀"UPDATE_PHOTO_URL" 、 "NOTICE_MSAGES_URL"参数,getDevModelValue 方法会自动去获取配置在AndroidManifest.xml 下面 application 节点下 meta-date “DEV_MODEL” 的值 并拼接为:"UPDATE_PHOTO_URL_DEBUG" 、 "NOTICE_MSAGES_URL_DEBUG"等,去获取配置文件下面相应的值。


四、总结

1.需要创建配置文件。
2.在AndroidManifest.xml 下面 application 节点 配置下meta-date节点。
3.创建一个Application类,并写一个getDevModelValue 方法,用于获取 application 下meta-date 对应的Value值,并获取对应配置文件的值。
4.在代码中使用getDevModelValue方法即可。
5.每次打包的时候 只需要修改 application 节点 配置下meta-date节点 对应的value 修改成debug test pro 就可以了。

更多相关文章

  1. MAC下Android的Eclipse开发环境的搭建
  2. android 系统资源的加载和获取
  3. Android应用程序获取ROOT权限的方法
  4. [Android入门]1. Android开发环境搭建
  5. Android(安卓)下arcgis开发学习第一天——环境配置及常见错误
  6. Android(安卓)之 ContentProvider 共享数据库-通讯录
  7. 【Android】Mac系统Android开发环境搭建
  8. Android下uptime获取系统启动和运行时间
  9. Android流量统计

随机推荐

  1. android不将apk包编译到系统里的方法
  2. java for android sqlite数据的操作:说实
  3. Android面试题(基础部分1)
  4. Android(安卓)第四天(晚上)
  5. 创建Gridview视图
  6. Android的merge标签用法
  7. android:activity生命周期及几个主要函数
  8. Android消息机制,从Java层到Native层剖析
  9. Android中ListView使用- 网络图片的异步
  10. ADB使用方法及常用命令