Android 声明多个活动中使用的常量的最佳实践
在一些教程中,我看到在相关活动的顶部将结果代码设置为“private static final int”。对我来说,这似乎不是最好的方法,因为我发现自己必须不断地引用其他类来找到正确的代码,而不是引用在其他地方创建的相同代码Android 声明多个活动中使用的常量的最佳实践,android,convention,Android,Convention,在一些教程中,我看到在相关活动的顶部将结果代码设置为“private static final int”。对我来说,这似乎不是最好的方法,因为我发现自己必须不断地引用其他类来找到正确的代码,而不是引用在其他地方创建的相同代码 有更好的方法吗?仅仅创建一个实用程序类来保存公共结果代码、请求代码、数据键等是否是一种不好的做法?我以前从未见过这样做。另一种方法是将这些变量保存在Gradle build中,并像这样使用它们:BuildConfig.VARIABLE 例如: 在渐变文件中: buildT
有更好的方法吗?仅仅创建一个实用程序类来保存公共结果代码、请求代码、数据键等是否是一种不好的做法?我以前从未见过这样做。另一种方法是将这些变量保存在Gradle build中,并像这样使用它们:
BuildConfig.VARIABLE
例如:
在渐变文件中:
buildTypes {
release {
buildConfigField "java.lang.String", "DATABASE_NAME", "\"db_name\""
}
}
在Java中:
BuildConfig.DATABASE\u NAME
优点:
- 可以更改不同生成的常量值
- 有一个地方有所有的程序常量
- IDE/Gradle自动生成(BuildConfig)
- 0.14.3
package ru.kopeyko.***;
/**
* class for holding various CONSTANTs for '***' app
*
* @author Andrey Kopeyko <andrey@kopeyko.ru>
*/
public final class Const {
public static final String UUID_DEFAULT = "00000000-0000-0000-0000-000000000000";
public static final String VERSION_CODE = "versionCode";
public static final long ONESECOND = 1000L;
public static final int POSITIONS_MAX_DAYS = 32;
public static final long DB_MAINTENANCE_INTERVAL = 1*86400*1000L;
}
ru.kopeyko.**;
/**
*用于保存“***”应用程序的各种常量的类
*
*@作者Andrey Kopeyko
*/
公共期末班{
公共静态最终字符串UUID_DEFAULT=“00000000-0000-0000-0000-000000000000”;
公共静态最终字符串版本\u CODE=“versionCode”;
公共静态最终长1秒=1000L;
公共静态最终积分位置\最大\天数=32;
公共静态最终长数据库维护间隔=1*86400*1000L;
}
由于我发现自己必须不断地引用其他类
,创建一个实用类来保存常见的结果代码
这两种方法有何不同?难道你不想把“private static final int”放在公共类的顶部吗?不,从多个不同的活动中,我想返回一个“RESULT\u LOGOUT”,返回执行用户注销功能的根活动。我想知道我是否应该在根活动中,在不同的资源文件中,在实用程序类中,在所有需要它的类中,将它声明为公共静态final int(作为私有int),等。我发现传播是必要的,因为我也想提供后退按钮功能。如果我应该在根活动、不同的资源文件、实用程序类中将其声明为公共静态整数
。。。无论何处:它总是一个“publicstaticint”声明。你必须引用包含类Edited我的措辞太鲁莽了。这些将是常量而不是变量。这不是常量定义吗?是的,它是:)。我认为所有的计算机程序都有一些常数。在某种抽象层次上,你需要说X=1,问题是怎么做,什么时候做。我知道他想要常数。在我看来,当他说“vars”时,他的意思是“consts”:。我阅读代码而不是注释;)我不再倾向于使用固定的类。这太棒了,谢谢你让我接触到这一切!