2014-10-23 4 views
5

in meiner Android-App zu halten, muss ich die Einstellungen für die API-URL, die abhängig von der Art des Builds variiert (ich habe einen für Debug/Staging und Release). Dies in die Datei strings zu behalten, fühlt sich nicht richtig an, da dieser Ordner lokalisierte Strings enthält und es nichts über die API-URL zu lokalisieren gibt.Auf Android besten Platz, um Einstellungen wie api url

Was ist der beste Ort, um diese URL zu behalten?

+0

Welches Build-Tool verwenden Sie? Ameise? Gradle? – Zakaria

+0

mögliches Duplikat von [Gradle check constant value, um einen Fehler anzuzeigen, wenn true] (http://stackoverflow.com/questions/26489564/gradle-check-constant-value-to-show-error-if-true) – Zakaria

Antwort

10

können Sie verwenden, um die BuildConfig Klasse, zum Beispiel:

android { 
    buildTypes { 
     debug { 
      buildConfigField 'String', 'API_URL', 'http://...' 
     } 

     release { 
      buildConfigField 'String', 'API_URL', 'http://...' 
     } 
    } 
} 

Oder, wenn Sie die URL in build.gradle nicht speichern möchten, können Sie die debug und release Ordner verwenden eine erstellen Sonderklasse, die die URL speichert:

  • debug\src\java\com\myapp\ApiParam.java
  • release\src\java\com\myapp\ApiParam.java

nun in Ihrem main Projekt, können Sie die ApiParam Klasse verweisen.

1

Die Ressourcendatei ist in Ordnung, Sie müssen nicht alle Übersetzungsordner hinzufügen, und das Beste daran ist, dass Sie sie von einem Bibliotheksprojekt zum Hauptprojekt überschreiben können.

Wenn Sie sie nicht verwenden möchten, dann eine Beispielklasse mit einer konstanten Zeichenfolge.