2016-05-08 10 views
0

Ich versuche, einige entwicklerspezifische Einstellungen lokal (außerhalb von Git) in meinem Projekt zu speichern. Zum Beispiel müssen wir mit verschiedenen Serverkonfigurationen arbeiten (Dev, Stage, Live etc.). Zurzeit sind die Konfigurationen in unserem Java-Code fest programmiert und jedes Mal, wenn ein Entwickler eine Konfiguration ändert, muss er sie rückgängig machen, bevor er seinen Code an den Git schickt (sonst ändert sich die Konfiguration in jedem anderen Entwickler-Rechner). Das Verschieben der Datei git scheint keine gute Option zu sein, da jedes Mal, wenn das Projekt geklont wird, die Konfigurationsdatei manuell erstellt werden muss (andernfalls wird das Projekt nicht kompiliert).Entwicklerspezifische lokale Einstellungen in Android-Projekt speichern

Idealerweise möchte ich etwas wie eine local.properties Datei im Projekt haben, von wo ich die Konfigurationen im Code lesen kann. Dies in einem einfachen Java-Projekt zu tun wäre einfach. Aber ich kann eine Datei, die in meinem Projekt gespeichert ist, auf diese Weise nicht lesen, FileReader in = new FileReader(new File("local.properties"))), weil Android die Datei nicht in ihrem Pfad zu finden scheint. Es scheint mir, dass es versucht, diese Datei vom Dateisystem des Android-Geräts zu lesen. Ich kann die Umgebungsvariable aus dem gleichen Grund nicht verwenden. Was ist der beste Weg, dies zu erreichen?

+1

Kann Asset-Ordner sein? –

+0

Wie Sergey Petrov erwähnt hat, ist Ihre beste Lösung, alle Konfigurationen im Ordner Assets zu speichern, ansonsten bleibt die Konfiguration der gesamten Konfiguration in der Java-Datei und die Suche nach etwas wie if (BuildConfig.DEBUG) in der Laufzeit – insomniac

+0

Danke, ich würde das versuchen –

Antwort

1

Tun Sie es in einer XML-Datei, genau wie Sie strings.xml haben, erstellen Sie strings_local.xml oder wie immer Sie es nennen möchten, und legen Sie die Werte dort. Fügen Sie diese Datei Ihrer Ignorierdatei hinzu, damit sie nicht in die Quellcodeverwaltung eingecheckt wird, da Sie sonst das gleiche Problem haben - Entwickler müssen ihre Änderungen vor dem Einchecken rückgängig machen. Wenn Sie das Problem lösen wollen, dass keine Werte vorhanden sind Arbeiten Sie mit, wenn Sie das Projekt klonen, fügen Sie eine Beispieldatei im Stammverzeichnis des Projekts hinzu, in der Android diese Datei nicht als Ressourcendatei abruft und in der Readme-Datei dokumentiert.

Verwandte Themen