¿Hay una manera de utilizar las variables .env en Android (Java) como lo hacemos en laravel?

UndercoverCoder:

No sé si esto es fuera de tema, pero en laravel, podemos establecer las variables de un .envarchivo, que puede entonces tener acceso utilizando una getenv()función de prevención de codificación duro en que no se puede asegurar.

Podemos hacer lo mismo en Android Studio (usando Java)? Como hay cierta información que código en lugar no es difícil.

Espero este sentido marcas.

He intentado establecer las variables en una clase y acceder a ellos a través de la clase, pero siento que hay una mejor manera que es más similar a como se hace en laravel.

Esto es lo que estoy haciendo ahora, pero no es lo que estoy buscando:

public class EnvVariables {
    public final String API_KEY = "some API key";
    public final String API_ENDPOINT = "https://example.com/api/v1/endpoint";
}

Luego utiliza estas variables donde quiera que los necesitaba.

Esto hace el trabajo, pero la clase sigue siendo de fácil acceso, mientras que una .envno es (ya que no debe ser).

a_local_nobody:

El más cercano (en mi opinión) que tienen las variables ambientales, sería buildConfigcampos, que se realice en build.gradle, así:

buildConfigField "String", "variable_name", "variable_value"

usted haría algo como esto:

 flavorDimensions "default"   
 productFlavors {
    dev {
buildConfigField "String", "SERVER_TEST", "\"http://192.618..\""
buildConfigField "String", "SERVER_MAIN", "\"https://68.5...\""
buildConfigField "String", "API_KEY", "dev API key"
    }
     prod {
buildConfigField "String", "SERVER_TEST", "\"http://192.618..\""
buildConfigField "String", "SERVER_MAIN", "\"https://68.5...\""
buildConfigField "String", "API_KEY", "prod API key"
    }

que luego se puede acceder de esta manera:

BuildConfig.API_KEY

echar un vistazo a estos para obtener más información:

¿Cómo generar buildConfigField con tipo String

y esto para la creación de diferentes sabores:

https://developer.android.com/studio/build/build-variants


Como nota al margen, buildConfiglos campos se utilizan para los valores relacionados específicamente con una acumulación en particular o un grupo de generaciones, por su situación de querer almacenar claves de la API se trata de un ejemplo bueno, pero no deben utilizarse para simplemente almacenar todos los valores constantes para una aplicación .

Si usted tiene diferentes versiones de una aplicación (gratuita, de alta calidad, etc), que utiliza diferentes claves de la API, la acumulación de configuración es la mejor forma de hacerlo, como se puede ver en mi código anterior, dependiendo de la variante de construcción que inicie, la API clave va a cambiar.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=317633&siteId=1
Recomendado
Clasificación