2015-02-28 87 views
5

Android için ADT kullanarak tutulmada gelişiyorum.
Uygulamamda, uygulamamı kolayca ayıklamamda bana yardımcı olacak bazı sabitlerim var.
Örnek olarak, bazı günlükleri ekranda görüntülememde bana yardımcı olan:
public static final boolean DEBUG_TOAST_LOGS = true;
.
Bir salınımını inşa etmek niyetinde her zaman, benim sabitler geçmesi ve bir şekilde acı bırakma baskısında, neyin uygun olduğuna kendi değerlerini ayarlamak gerekir.
Artık istediğim, iki yapılandırma kullanarak uygulamamı oluşturmanın bir yoludur: biri hata ayıklama modu ve diğeri yayın modu. yayın modu, sabitlerimi uygun değerlere ayarlamalıdır. Bunu nasıl yapıyorum? Önerin nedir? İhtiyacımı gerçekleştirmenin en iyi yolu nedir?

Herhangi bir yardım mutluluk duyacaktır. Eğer yapı sistemi olarak Gradle kullanıyorsanızSürüm sürümü oluştururken sabit değerleri değiştir

cevap

9

emin değilim. Bunu yaparsanız, yapı tipi belirli kaynakları ayarlayabilirsiniz. Bir boolean debug değeri, hata ayıklama oluşturma türü için true ve serbest bırakma yapı tipi için false olacaktır.

HIDRO çözümüyle @ build.gradle

android { 

    defaultConfig { 
     ... 
     resValue "bool", "debug", "true" 
    } 

    buildTypes { 
     release { 
      ... 
      resValue "bool", "debug", "false" 
     } 
    } 

    ... 
} 

Application.java

public class Application extends android.app.Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     if (getResources().getBoolean(R.bool.debug)) { 
      ... // debug logic here 
     } 
     ... 
    } 
} 
4

iyi, ama gereksiz bir getResources()... çağrıyı sen değerini erişmek istediğiniz her zaman gerektirir.

Orada da başka bir olasılık:

Sonra

build.gradle

android { 
    buildTypes { 
    debug { 
     buildConfigField "boolean", "DEBUG_TOAST_LOGS", "true" 
    } 

    release { 
     buildConfigField "boolean", "DEBUG_TOAST_LOGS", "false" 
    } 
} 

}, kodunuzda yazabilirsiniz:

if (BuildConfig.DEBUG_TOAST_LOGS) { 
    // ... enjoy your toasts ... 
}