在android中存储常量以在java类中使用的最佳方法是什么。 据我所知,有两种方法:
答案 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
。
buildTypes {
debug {
buildConfigField "String", "GCM_PROJECT_KEY", "\"1234567890\""
}
}
这会在public final String GCM_PROJECT_KEY
中生成your.package.BuildConfig
,您可以使用它。在您使用应用程序ID,版本或版本名称的任何地方也应使用此类。
此外,这是使用多种口味时的方法。您只需要将常量从buildTypes移动到flavor。