Argumentos / variables personalizados pasados al emulador de Android
Me gustaría pasar un argumento al emulador de Android lanzado a través de Eclipse. Este argumento es uno personalizado que usaría para determinar si la dirección del servidor para conectarse es "localhost" o "myserverdomain.com". Esto es porque no quiero tener dos binarios, o dos versiones, del mismo programa, siempre que ejecute el programa en producción o en un entorno de prueba local.
En Java simple, puedo usar los argumentos de la línea de comandos para esa materia, y recuperarlos en el main()
, o también utilizar las variables de ambiente de encargo y recuperarlas con System.getProperty()
.
- Uso de las clases Fragment y AppCompatActivity juntos
- Android - ListView onItemClick () no disparando en 4.1 jellybean
- Android Equivalente a un UserControl .NET
- Cómo hacer una relación bidireccional uno-a-uno por GreenDAO?
- Anular los colores del menú contextual en Android
No puedo encontrar ninguna función similar en Android. ¿Conoce alguno por favor?
- ¿Cómo correctamente y consistentemente se burlan de la ubicación en Android?
- HttpURLConnection en android no envía el encabezado User-Agent correcto
- Cómo generar clases java desde el archivo WSDL
- Cómo agregar los datos escritos a un archivo?
- Lectura de Json String usando Gson resultados error "no un JSON Array"
- Vista superficial en capas en un FrameLayout en Android
- Creación de un ListView con elementos de lista personalizados mediante programación en Android - no hay ningún elemento de lista de elementos XML
- Uso de la biblioteca de Android en un proyecto Java regular
Esto es posible, aunque no he intentado hacerlo vía Eclipse.
Desde la línea de comandos puede utilizar adb para iniciar un shell y ejecutar una aplicación con parámetros.
Por ejemplo,
adb shell am start -a android.intent.action.MAIN -n org.caoilte.MyActivity -e SOME_KEY some_value -e SOME_OTHER_KEY some_other_value
comenzará mi actividad con extras que puedo extraer del paquete como tal,
public class MyActivity extends Activity { protected void onStart() { super.onStart(); String someKey = null; String someOtherKey = null; Bundle extras = getIntent().getExtras(); if (extras != null) { jsEnv = extras.getString("SOME_KEY"); serverEnv = extras.getString("SOME_OTHER_KEY"); } }
Cuando inicia un emulador para depurar su aplicación es como instalar en un dispositivo. El emulador no es sólo un mecanismo para ejecutar tu aplicación, es casi un teléfono. Crear una opción de línea de comandos para pasar datos a su aplicación sería un poco complicado, ya que no hay main(String[])
y que necesitaría varias opciones en cuanto a quién y cuándo desea que las opciones de línea de comandos entregado.
Decirle a una aplicación qué servidor ejecutar en contra se puede lograr un par de maneras diferentes. Primero puede configurarlo como un recurso de cadena . En segundo lugar, puede detectar con qué dispositivo se está ejecutando con Build.PRODUCT y otros valores de compilación . También hay algunas opciones con el uso de NetworkInterface . Además, por qué estás desarrollando tu aplicación, puedes dejar que el usuario decida con un AlertDialog o ListPreference con la depuración como un disparador.
- cómo implementar agregar elemento en adaptador de matriz spinner en android
- Android: ¿Cómo puedo obtener la dirección IP de una aplicación de Android?