声明在多个活动中使用的常量的最佳实践

时间:2015-01-26 15:44:46

标签: android convention

在几个教程中,我看到结果代码在相关活动的顶部设置为“private static final int”。对我而言,这似乎不是最好的方法,因为我发现自己不得不经常引用其他类来查找正确的代码,而不是引用在其他地方创建的相同代码。

有更好的方法吗?仅仅使一个实用程序类来保存公共结果代码,请求代码,数据键等是不好的做法吗?我以前从未见过这件事。

3 个答案:

答案 0 :(得分:1)

另一种方法是将这些变量保留在Gradle构建中并使用它们:BuildConfig.VARIABLE

示例:

在gradle文件中:

 buildTypes {
    release {
     buildConfigField "java.lang.String", "DATABASE_NAME", "\"db_name\""
    }
}

在Java中:       BuildConfig.DATABASE_NAME

优点:

  • 可以更改不同构建的常量值
  • 所有程序常量都有一个地方
  • IDE / Gradle自动生成(BuildConfig)

参考文献:

答案 1 :(得分:0)

我认为这是个人偏好,尽管将所有静力学都放在实用工具类中似乎更有意义。为了简单起见,这些教程可能会在Activies中显示它们,这比使用实用程序类更容易理解,因为它们只需要几个静态。

答案 2 :(得分:0)

如果你需要为几个类共享常量,你可以创建特殊的“常量”类并引用它。

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;

}