Cómo utilizar assert en android?
Quiero usar assert obj != null : "object cannot be null"
en el dispositivo Android. El asert no parece funcionar, así que busqué en línea y encontré esta solución local:
Adb shell setprop debug.assert 1
- Manera eficiente de manipular los subprocesos RxJava
- Perforación UDP en Android; Servidor UDP
- Javax.net.ssl.SSLHandshakeException: Handshake falló en Android 5.0.0 cuando SSLv2 y SSlv3 están deshabilitados (sólo TLS) (y mayores)
- Greenbot Eventbus 3.0: ¿Cuál es la diferencia entre onEvent, onEventMainThread, onEventBackgroundThread y onEventAsync?
- Recuperar el contexto de llamada en un BroadcastReceiver ()
Funciona en mi máquina local.
Quiero ejecutar este comando usando mi proyecto eclipse (por lo que sería en el control de código fuente). ¿Cómo puedo hacerlo?
¡Gracias!
- Descargar limitador de velocidad para la interfaz Wifi en Android
- Android: el caché de mapas de bits requiere mucha memoria
- BitmapFactory.decodeStream devolver null cuando se establecen las opciones
- Crear copia múltiple de la aplicación Android
- Configurar mapa de bits como fondo de la vista de texto - Android
- Instalación del complemento Genymotion Eclipse
- Excepción Outofmemory utilizando la biblioteca retrofit android
- Vaya a la página en epub reader (PageTurner)
Assert no funcionará en Android porque la mayoría de las veces una persona no se está ejecutando en modo de depuración, sino un código optimizado. Por lo tanto, la solución adecuada es lanzar manualmente una excepción, con un código como este:
if (obj==null) throw new AssertionError("Object cannot be null");
Debe tenerse en cuenta que por diseño, los asertos están destinados al código de depuración, y no al código de tiempo de liberación. Así que esto podría no ser el mejor uso de lanzar un Assert. Pero así es como puedes hacerlo todavía, así que …
Probado en el dispositivo Android 4.x, es posible utilizar Java afirmar en el dispositivo Android:
- Edite /system/build.prop (por ejemplo por X-plore ), agregue la línea al final del archivo: debug.assert = 1
- Reinicia el teléfono
Ahora su dispositivo Android es razonable para hacer valer cheques, y lanzará AssertionError cuando la comprobación de afirmación falla.
EDITAR:
Otro enfoque fácil, permitiendo afirma desde PC hasta que se reinicie el dispositivo:
platform-tools\adb shell setprop debug.assert 1
Por ejemplo, puede crear un archivo .bat (en Windows) y ejecutarlo cuando el dispositivo esté conectado.
if (somevar == null) throw new RuntimeException();
Reemplace RuntimeException () con un subtipo de excepción adecuado.
Crea tu propio método assert:
public static <T> T assertNotNull(T object) { if (object == null) throw new AssertionError("Object cannot be null"); return object; }
Devolver el mismo objeto permite utilizar esto en las asignaciones por brevedad.
- Experimentos de contenido de Android con el Administrador de etiquetas no muestra sesiones después de varios días
- Múltiples tipos de MIME en Android