3

私はJavaを初めて使用し、既存のAndroidアプリを継承しています。元の開発者は、定数のインターフェイスを使用することを選択しました。

私の問題は、本番用アプリと開発用アプリをコンパイルするために、これらの定数の数を変更する必要があることです。いくつかの値を手作業で変更すれば、すべてがうまく機能しますが、それはこれを処理するための醜い方法であり、おそらくいつか間違いを犯すでしょう。

したがって、私の目標は、コードの残りの部分に対して透過的なソリューションを見つけ、単一の定数を使用して開発と本番を切り替えることです。

既存のコードのサンプル:

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;

}

CONSTANTを使用して、コンパイル時にこのインターフェイスを変更する方法はありますか?または、解決策の一部としてこのインターフェイスを使用するコードを修正して修正する必要がありますか?

4

1 に答える 1

4

いいえ、でもこれはConsts

boolean PRODUCTION_BUILD = false;
String BASE_URL = PRODUCTION_BUILD ? "..." : "...";
于 2012-12-16T20:15:15.520 に答える