ग्रैडल BuildConfig
नामक एक वर्ग उत्पन्न करता है जिसमें स्थिर सदस्य होते हैं (जैसे बूलियन DEBUG
, जो डीबग वेरिएंट के लिए सत्य पर सेट है)।
आप या तो इसलिए की तरह जावा में इस क्वेरी सकता है:
if (BuildConfig.DEBUG) {
BASE_URL = "http://debug.server.com"
} else {
BASE_URL = "http://release.server.com"
}
या एक एक लाइनर के रूप में एक ही बात:
BASE_URL = BuildConfig.DEBUG ? "http://debug.server.com" : "http://release.server.com"
या
आप कर सकते थे वास्तव मेंके अंदर BASE_URL
सेट करेंवर्ग तो जैसे Gradle का उपयोग कर:
android {
buildTypes {
debug {
buildConfigField "String", "BASE_URL", '"http://debug.server.com"'
}
release {
buildConfigField "String", "BASE_URL", '"http://release.server.com"'
}
}
}
नोट सिंगल और डबल कोटेशन Gradle में मूल्य के आसपास, के रूप में दूसरों टिप्पणी में उल्लेख किया है। इस तरह, डबल उद्धरण मूल्य का हिस्सा बन जाते हैं।
नतीजतन, स्थिर संदर्भ BuildConfig.BASE_URL
(रिहाई के लिए यानी "debug.server.com" डिबग के लिए, "release.server.com") इसी यूआरएल को इंगित होता
स्रोत
2014-10-20 22:16:06
बहुत धन्यवाद, दूसरा दृष्टिकोण उपयोग करेगा, यह बहुत लचीला –
आपका स्वागत है। जब आप कर सकते हैं जवाब के रूप में चिह्नित करने के लिए स्वतंत्र महसूस;) –
आपका जवाब केवल मेरे लिए काम करता है, तो मैं इस तरह एकल लोगों के बजाय डबल कोट्स का उपयोग, और यूआरएल तार से बचने,: एंड्रॉयड { buildTypes { डिबग { buildConfigField "स्ट्रिंग "," BASE_URL "," \ "http: //debug.server.com \" " } रिलीज { buildConfigField" स्ट्रिंग "," BASE_URL "," \ "http: //release.server।कॉम \ "" } } } –