Android 在页面中显示打包日期的实现方法
项目有需求,要求在app里显示安装包打包的日期,我的想法是:
1,在build.gradle中定义打包的日期变量。
2,在app里引用BuildConfig文件自动生成的变量并显示。
实现如下:
先在Build.gradle中定义得到打包时间的方法,在文件内容最外层定义:
//得到打包时间 def static releaseTime() { return new Date().format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone("UTC")) }
然后在Build.gradle的BuildTypes中调用此方法来定义日期值,这样:
buildConfigField 'String', 'versionDateTime', releaseTime()
编译之后,结果可以在BuildConfig文件中看到,
我想要的结果是这样的:
public static final String versionDateTime = "2017-11-15 12:49:43"
实际结果却是这样:
public static final String versionDateTime = 2017-11-15 12:49:43
显然在定义versionDateTime这个String变量的时候,格式不对。该怎么改呢?
经过网上求教找到了办法,官方文档有说明,定义string必须带引号:
像下面这样两种改法都是可以的:
buildConfigField 'String', 'versionDateTime', '\"'+releaseTime()+'\"' buildConfigField 'String', 'versionDateTime', "\"${releaseTime()}\""
其中出现了两种引号,要一一对应。
这样修改之后,BuildConfig结果就正常了:
public static final String versionDateTime = "2017-11-15 12:59:33"
在activity中使用:
textView.setText(BuildConfig.versionDateTime);
以上这篇Android 在页面中显示打包日期的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
IOS 解决推送本地国际化 loc-key 本地化失败的问题
本文主要介绍IOS 推送国际化问题,在开发 IOS 项目过程中对软件的国际化有的项目需求是需要的,这里给大家一个示例,有需要的小伙伴可以参考下2016-07-07详解iOS多线程之2.NSThread的加锁@synchronized
这篇文章主要介绍了详解iOS多线程之2.NSThread的加锁@synchronized,有需要的小伙伴可以参考下。2016-11-11IOS UITableView和NavigationBar的常用设置详解
这篇文章主要介绍了IOS UITableView和NavigationBar的常用设置详解的相关资料,需要的朋友可以参考下2017-04-04
最新评论