App中如何获取gradle的配置信息
前言
在android开发中我们一般需要在app里获取gradle里的配置信息:
1.在程序里使用gradle里的配置项,
2.在resouce里使用gradle里的配置项?
方法一:
一,为什么使用gradle.properties?
1,对于项目而言,有时候需要配置某些敏感信息。比如密码,帐号等。而这些信息需要被很多类共同使用,所以必须有一个全局的配置
2,当需要把项目push到git上时,我们不希望别人看到我们项目的key,token等。我们可以将这些信息设置在gradle.properties中。(这一点后续需要详解)
二,如何使用gradle.properties?
1,在gradle.properties文件中进行变量初始化。
2,在build.gradle(module app)中进行变量的重定义,即将配置内容转化成java能够使用的形式
其中,buildconfigfield定义的方式是buildconfigfield 类型,变量名,值resvalue定义的方式是resvalue xml中的类型,变量名,值
3,在java中使用。
使用buildconfig可以直接读取配置信息
注:在项目中直接使用“buildconfig.appname”,是因为系统根据build.gradle文件自动生成了buildconfig类,该类里是一些配置常量:
4,在布局文件中使用
通过build.gradle中的配置,可以直接使用@string 访问
方法二:(不常用,推荐使用方法一)
项目中有登录页面,但平时调试的时候每次都输入用户名密码来登录太麻烦,写成固定值发布的时候又要重新替换和注释。所以就想从不同版本获得信息然后代码中控制。
在android项目文件中的build.gradle中,在android标签下的defaultconfig标签下,可以添加manifestplaceholders,里面可以存一些app的配置信息值,比如是否是发布版本。如下图:
这样平时编译调试的时候使用的是debug版本默认的false,发布的时候使用的是release版本为true,即只需要在代码中获取这个isrelease值就可控制登录时候是否填写用户名密码或者直接赋值固定值。那怎么获取build.gradle文件中的值呢,整个app项目中有个配置文件androidmanifest.xml,在application标签下,可新写meta-data标签,其中的value值用${value}来表示,花括号中的value为gradle文件中的变量名。如下图:
然后代码中就可以写个工具类来获取manifest文件的meta-data的值。代码:
代码中再根据返回的值进行判断和控制即可。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
推荐阅读
-
获取App.config配置文件中的参数值
-
解析Java中如何获取Spring中配置的bean
-
iOS App开发中通过UIDevice类获取设备信息的方法
-
iOS App开发中通过UIDevice类获取设备信息的方法
-
荐 Iphone App创建与审核步骤三:如何修改mac中App Identifiers的LaunchScreen.storyboard及Asset Catalog配置用于iOS启动页及其
-
C#中怎样获取默认配置文件App.config中配置的键值对内容
-
Java如何获取VMware中Vcenter/ServerInstance下的各种硬件信息
-
Springboot如何获取配置文件application.yml中自定义的变量并使用
-
struts2中action如何获取Session,jsp页面参数等等信息的值
-
andriod开发如何获取安卓QQ中的好友信息