4

アプリを「DEV」モードで実行するか「PROD」モードで実行するかを決定する構成パラメーターを実装して、開発を容易にしたいと考えています。

このパラメーターに任意のファイルからアクセスできるようにしたいです (このパラメーターに基づいて、さまざまなコードのチャンクが実行されます)。

このパラメーターを保存する最も実用的な方法は何ですか (ユーザーがアクセスまたは変更することはできません)。

アプリケーション内からどのようにアクセスできますか?

4

4 に答える 4

5

ADT 17 (IIRC) 以降では、自動生成されたBuildConfigクラスの一部としてこれが自動的に作成されます。

このDEBUGフィールドは開発中は常にtrueですが、署名済みまたは未署名の apk をエクスポートすると、 に設定されfalseます。次のように使用できます。

if(BuildConfig.DEBUG) {
    //Debug mode
}

またはその逆:

if(!BuildConfig.DEBUG) {
    //Release mode
}
于 2013-01-14T10:07:13.680 に答える
4

列挙型を使用できます:

public enum BuildType {

    Release, Pilot, Debug;
}

そしてそれをグローバル変数に割り当てます:

public static final BuildType BUILD_TYPE = BuildType.Debug;

アプリケーションの非常に特定の部分を切り替えることができる列挙型でいくつかのメソッドを作成することもできます。

これで、次のようなことができます。

if (MyApplication.BUILD_TYPE != BuildType.Release) {
    // some code that does not go in the release
}
于 2013-01-14T09:59:10.873 に答える
1

Activity の 1 つの静的フィールドですか? または、何か不足していますか?

public static boolean isDev = true;

onCreateメイン アクティビティの で設定できます。

于 2013-01-14T09:59:49.967 に答える
0

新しいクラスを作成し、そこに変数を追加できます。また、開発モードでアプリに関する詳細を表示するいくつかのメソッドを追加することもできます。

public class Console{
  public final static boolean isDev = true;
  public static error(String tag, String msg){
    if(isDev){
      Log.e(TAG, msg);
    }
  }
}
于 2013-01-14T10:05:19.290 に答える