我有几十个api密钥用于facebook和twitter以及许多其他服务,具有不同的密钥值的标准方法是什么,这取决于我是在进行开发构建而不是分段构建还是生产构建?
答案 0 :(得分:5)
您可以使用静态标志在开关块中使用它来定义键。这适用于带有两个或三个备用键的简单项目。
如果您真的有这么多,要在多个项目中使用,我建议您将它们添加到帮助程序类中,这样您就可以最小化类中的代码更改。类似的东西:
public class BuildHelper {
public static final int DEBUG=0;
public static final int STAGING=1;
public static final int PRODUCTION=2;
public static int BUILD;
public static String getFbKey() {
switch(BUILD) {
case DEBUG: return "xxx";
case STAGING: return "yyy";
case PRODUCTION: return "zzz";
}
return null;
}
public static String getTwitterKey() {
switch(BUILD) {
case DEBUG: return "xxx";
case STAGING: return "yyy";
case PRODUCTION: return "zzz";
}
return null;
}
}
并将其用作:
public class YourClass extends Activity {
public static String FB_KEY;
public static String TWITTER_KEY;
//etc.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BuildHelper.BUILD=BuildHelper.DEBUG; // or STAGING or PRODUCTION
FB_KEY = BuildHelper.getFbKey();
TWITTER_KEY = BuildHelper.getTwitterKey();
//etc.
}
}
答案 1 :(得分:0)
我会将它们保存在单独的属性文件中,并根据您正在执行的操作引用构建脚本/ eclipse类路径中的适用属性文件。