2017-10-19 3 views
0

Je dois être en mesure de charger des réglages différents sur ma fonction onCreate basée sur la production/mise en scène, mon application est réagir natif mais je dois le faire dans mon fichier java voici mon code actuelAndroid Java charge différents paramètres basés sur la production/mise en scène?

@Override 
    public void onCreate() { 
    super.onCreate(); 
    Fabric.with(this, new Answers()); 
    Fabric.with(this, new Crashlytics()); 
    Intercom.initialize(this, "android_sdk-xxxx", "xxxx"); 
    SoLoader.init(this, /* native exopackage */ false); 
    } 
} 

I voudrait charger différentes clés d'interphonie

+1

ne pouvez-vous pas utiliser 'if (BuildConfig.DEBUG)'? –

+0

J'utiliserais une interface de configuration supplémentaire simple où l'utilisateur peut la définir manuellement. Cela peut ensuite être supprimé dans la version terminée. – Henry

+0

Merci c'était –

Répondre

2

Dans votre gradle.properties définir les valeurs de débogage/mise en scène/production

DEBUG_KEY=debug-key-val 
STAGING_KEY=staging-key-val 
PRODUCTION_KEY=production-key-val 

les ajouter ensuite construire config

android { 
    buildTypes { 
     debug { 
      buildConfigField "String", "MY_KEY", "\"${DEBUG_KEY}\"" 
     } 
     staging { 
      buildConfigField "String", "MY_KEY", "\"${STAGING_KEY}\"" 
     } 
     release { 
      buildConfigField "String", "MY_KEY", "\"${PRODUCTION_KEY}\"" 
     } 
    } 
} 

Puis l'utiliser comme BuildConfig.MY_KEY. En sélectionnant différentes config de construction debug, staging ou release la valeur correspondante sera définie dans BuildConfig.MY_KEY.