2014-10-23 7 views
5

W mojej aplikacji na Androida muszę zachować ustawienia adresu URL interfejsu API, który różni się w zależności od typu kompilacji (będę mieć jeden do debugowania/testowania i wydania). Zachowanie tego w pliku strings nie jest właściwe, ponieważ ten folder zawiera zlokalizowane ciągi znaków i nie ma nic do zlokalizowania na temat adresu URL api.W Androidzie najlepsze miejsce do przechowywania ustawień, takich jak api url

Jakie jest najlepsze miejsce na przechowywanie tego adresu URL?

+0

z którego narzędzia budowy korzystasz? Mrówka ? gradle? – Zakaria

+0

możliwy duplikat [Gradle sprawdź stałą wartość, aby pokazać błąd, jeśli jest prawdziwy] (http://stackoverflow.com/questions/26489564/gradle-check-constant-value-to-show-error-if-true) – Zakaria

Odpowiedz

10

Można użyć klasy BuildConfig, na przykład:

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

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

Lub, jeśli nie chcesz przechowywać URL w build.gradle, można użyć debug i release foldery stworzyć klasa specjalna, która przechowuje adres URL:

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

Teraz w projekcie main, można odwołać się do klasy ApiParam.

1

Plik zasobów jest do tego odpowiedni, nie trzeba umieszczać we wszystkich folderach tłumaczeń, a co jest w nich miłe, to można je zastąpić z projektu biblioteki do głównego projektu.

Jeśli nie chcesz ich używać, to przykładowa klasa ze stałym ciągiem.

Powiązane problemy