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

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!

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.

  • Android obtener frecuencias de sonido en tiempo real?
  • Personajes extraños en html webview
  • Procesamiento de imágenes OpenCV en el servicio de Android
  • NullPointerException al mostrar un ViewPager una segunda vez
  • Obtener el valor lux del sensor de luz sin evento onSensorChanged ()?
  • ¿Cómo obtener la dirección IP del host en android?
  • Adición de controles de brillo de pantalla a la aplicación Android
  • Implementación de un grupo de subprocesos dentro de un servicio
  • Java.lang.NullPointerException en android.support.v7.widget.RecyclerView.onMeasure
  • ¿Por qué mi método de comparación arroja IllegalArgumentException a veces?
  • Problemas al recibir ACTION_PASSWORD_SUCCEEDED y ACTION_PASSWORD_FAILED intents
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.