Ich entwickle in Eclipse mit ADT für Android.
In meiner Anwendung habe ich einige Konstanten, die mir helfen, meine App leicht zu debuggen.
Als ein Beispiel habe ich: public static final boolean DEBUG_TOAST_LOGS = true;
die mir helfen, einige Protokolle auf dem Bildschirm zu toasten.
Jedes Mal, wenn ich ein Release erstellen will, muss ich meine Konstanten durchgehen und ihre Werte auf das einstellen, was für die Release-Edition angemessen ist, was irgendwie schmerzhaft ist.
Jetzt was ich will, ist eine Möglichkeit, meine App zu erstellen, mit zwei Konfigurationen: eine für Debug-Modus und die andere für Release-Modus. Der Freigabemodus sollte meine Konstanten auf die entsprechenden Werte setzen. Wie kann ich das tun? Was ist dein Vorschlag? Was ist der beste Weg, um meine Bedürfnisse zu erfüllen?
Jede Hilfe wäre willkommen.Ändern Sie konstante Werte beim Erstellen einer Release-Edition
5
A
Antwort
9
Ich bin mir nicht sicher, ob Sie Gradle als Ihr Build-System verwenden. Wenn Sie dies tun, können Sie Build-Typ-spezifische Ressourcen, z. Ein boolescher debug
Wert ist true
für Debug-Build-Typ und false für Release-Build-Typ.
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
@ Lösung des hidro ist in Ordnung, aber erfordert einen unnötigen getResources()...
Anruf jedes Mal, wenn Sie den Wert zugreifen mögen.
Es gibt eine andere Möglichkeit:
build.gradle
android {
buildTypes {
debug {
buildConfigField "boolean", "DEBUG_TOAST_LOGS", "true"
}
release {
buildConfigField "boolean", "DEBUG_TOAST_LOGS", "false"
}
}
}
Dann in Ihrem Code, können Sie schreiben:
if (BuildConfig.DEBUG_TOAST_LOGS) {
// ... enjoy your toasts ...
}
Verwandte Themen
- 1. Konstante Werte in Rails
- 2. So definieren Sie konstante Werte - Best Practice
- 3. Erstellen einer Konstante Dictionary in C#
- 4. Konstante Werte in Rust Generics
- 5. Erstellen einer Konstante anstelle einer Variablen zum Verschieben von Positionen
- 6. So erstellen Sie eine Konstante in Javascript
- 7. So ändern Sie Konfigurationsvariablen in Ionic App beim Erstellen/Testen
- 8. Wie setzen wir beim Erstellen von R-Paketen konstante Variablen?
- 9. Werte in einer Matrix ändern
- 10. Konvertieren einer Zeichenfolgendarstellung einer Konstante in eine Konstante?
- 11. Fehler "Nicht initialisierte Konstante" beim Erstellen des Clients
- 12. Ändern Sie Werte in Zeichenfolge
- 13. Wie Werte von $ _GET in Konstante übergeben?
- 14. Wie wird eine konstante Spalte beim Replizieren einer Datenbank hinzugefügt?
- 15. Zugriff auf konstante Werte von einer Apache Velocity-Vorlage?
- 16. Pandas, multiplizieren alle numerischen Werte im Datenrahmen mit einer Konstante
- 17. TASM: Fehler beim Versuch, eine Konstante mit einer Anweisung zu ändern
- 18. Übergeben Sie konstante Werte an Angular aus _layout.cshtml
- 19. Best Practice für konstante SQL-Werte
- 20. Unterscheiden zwischen einer Variablen und einer Konstante
- 21. Ändern Sie data.table Werte in einer Spalte für mehrere Zeilen
- 22. Ändern Sie einige Werte der Matrix zu einer neuen Matrix
- 23. Wo konstante Werte in swift speichern?
- 24. Benötigen Sie Hilfe beim Erstellen einer relationalen Datenbanktabelle
- 25. * Manchmal * erhalten einen Fehler beim Zuweisen einer Konstante in Delphi
- 26. Ändern einer Konstante in Java in Debug vs. Release-Modi
- 27. mysql alle Werte in einer Spalte ändern
- 28. gehen Vorlage Bindung Konstante Array-Werte
- 29. So speichern Sie konstante Daten im DB
- 30. Ändern Array-Werte in einer Datei