我是Java新手,并且已经继承了一个现有的android应用程序。最初的开发人员选择使用常量的接口。
我的问题是,我需要更改这些常量中的一些来编译App for Production vs Dev。如果我手动修改几个值,一切都很好,但这只是一种丑陋的处理方式,有一天我可能会犯错误。
因此,我的目标是找到一个对其余代码透明的解决方案,并使用单个常量在开发和生产之间来回切换。
现有代码示例:
package package.common;
public interface Consts {
// Define the Build Type
boolean PRODUCTION_BUILD = false;
String BASE_URL = "https://domain.com/Dev/Mobile.ashx";
interface RSA {
String PUBLIC_KEY_SHA1 = "....";
}
}并像这样使用
import package.common.Consts;
public class HttpsConn extends NetConnection {
String url = Consts.BASE_URL;
}有没有办法在编译时使用常量来修改这个接口?或者我将不得不咬紧牙关,修改使用此接口的代码作为解决方案的一部分?
发布于 2012-12-17 04:15:16
不能,但您可以用Consts编写此代码
boolean PRODUCTION_BUILD = false;
String BASE_URL = PRODUCTION_BUILD ? "..." : "...";https://stackoverflow.com/questions/13905066
复制相似问题