App里如何获取gradle里的配置信息?

作者 : 开心源码 本文共1252个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共204人阅读

在Android开发中我们一般需要在app里获取gradle里的配置信息:

1.在程序里使用gradle里的配置项,

2.在resouce里使用gradle里的配置项?

方法一:

一,为什么使用gradle.properties?

1,对于项目而言,有时候需要配置某些敏感信息。比方密码,帐号等。而这些信息需要被很多类共同使用,所以必需有一个全局的配置

2,当需要把项目push到git上时,我们不希望别人看到我们项目的key,token等。我们可以将这些信息设置在gradle.properties中。(这一点后续需要详解)

二,如何使用gradle.properties?

1,在gradle.properties文件中进行变量初始化。

image

2,在build.gradle(module app)中进行变量的重定义,即将配置内容转化成java能够使用的形式

image

其中,buildConfigField定义的方式是

buildConfigField 类型,变量名,值

resValue定义的方式是

resValue XML中的类型,变量名,值

3,在java中使用。

image

使用BuildConfig可以直接读取配置信息

注:在项目中直接使用“BuildConfig.APPNAME”,是由于系统根据build.gradle文件自动生成了BuildConfig类,该类里是少量配置常量:

image

4,在布局文件中使用

image

通过build.gradle中的配置,可以直接使用@string 访问

方法二:(不常用,推荐使用方法一)

项目中有登录页面,但平常调试的时候每次都输入客户名密码来登录太麻烦,写成固定值发布的时候又要重新替换和注释。所以就想从不同版本取得信息而后代码中控制。

在Android项目文件中的build.gradle中,在android标签下的defaultConfig标签下,可以增加manifestPlaceholders,里面可以存少量app的配置信息值,比方能否是发布版本。如下图:

image

这样平常编译调试的时候使用的是debug版本默认的false,发布的时候使用的是release版本为true,即只要要在代码中获取这个isRelease值即可控制登录时候能否填写客户名密码或者者直接赋值固定值。

那怎样获取build.gradle文件中的值呢,整个app项目中有个配置文件AndroidManifest.xml,在application标签下,可新写meta-data标签,其中的value值用${value}来表示,花括号中的value为gradle文件中的变量名。如下图:

image

而后代码中即可以写个工具类来获取manifest文件的meta-data的值。

代码:

image

代码中再根据返回的值进行判断和控制就可。

作者:AMEPRE
链接:https://www.songma.com/p/8f29a71cbb6d
來源:简书
简书著作权归作者所有,任何形式的转载都请联络作者取得受权并注明出处。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » App里如何获取gradle里的配置信息?

发表回复