2011-06-01 11 views

答えて

5

スイッチブロックで静的フラグを使用してキーを定義することができます。これは、2つまたは3つの代替キーを持つ単純なプロジェクトで機能します。

本当にたくさんある場合、いくつかのプロジェクトで使用するには、それらをヘルパークラスに追加することをお勧めします。これにより、クラス内のコードの変更が最小限に抑えられます。

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. 
    } 
} 
+0

私はこれに似た文字列varのランタイムチェックを終了しました – hunterp

0

私は別のプロパティファイルでそれらを維持し、あなたがしているものに応じてビルドスクリプト/日食クラスパスに該当するプロパティファイルを参照しますやって

関連する問題