在android中保持常量的最佳方法

时间:2015-12-26 10:56:19

标签: java android constants

在android中存储常量以在java类中使用的最佳方法是什么。 据我所知,有两种方法:

  1. RES /串
  2. 创建界面
  3. 从我学到的东西,我认为创建界面不是一种安全的做法。我不确定res / strings是否安全。有人能让我知道哪种安全且简单的方法可以将应用程序常量安全地放在android中,可以被同一应用程序中的其他java类使用。

2 个答案:

答案 0 :(得分:10)

我创建了一个包 utils 并添加了一个常量类,如下所示:

package utils;

public class Constant {

    public static final String API_KEY = "yourApikey";
    public static final int INT_ID = 0;
    //And more...

}

然后,您可以从其他类和包中调用此属性:

int int_id = Constant.INT_ID;

回应Suni的评论。在不使用 static 关键字的情况下使用常量的一种方法是在接口中定义属性,然后在类中定义实现该接口你想使用这些属性:

public interface Constant{
    String API_KEY = "yourApiKey";
    int INT_ID = 0;
}

然后,在你的课堂上:

public class YourClass implements Constant{

    int int_id = INT_ID;

}

问候!

答案 1 :(得分:4)

如果它们实际上是您设置的常量,并且可能因构建而异,例如Api Urls和各种类型,你应该使用BuildConfig

你可以在你的build.gradle中添加:

buildTypes {
    debug {
        buildConfigField "String", "GCM_PROJECT_KEY", "\"1234567890\""
    }
}

这会在public final String GCM_PROJECT_KEY中生成your.package.BuildConfig,您可以使用它。在您使用应用程序ID,版本或版本名称的任何地方也应使用此类。

此外,这是使用多种口味时的方法。您只需要将常量从buildTypes移动到flavor。