¿Por qué no debería usar System.out.println () en android
En este estilo del código dijeron que no debemos utilizar System.out.println () pero no entiendo su idea. Alguien puede explicar sobre eso? ¿Qué debo usar para rastrear el registro de mi aplicación?
System.out.println () (o printf () para el código nativo) nunca debe ser utilizado. System.out y System.err son redirigidos a / dev / null, por lo que sus sentencias de impresión no tendrán efectos visibles. Sin embargo, todo el edificio de cadena que sucede para estas llamadas todavía se ejecuta.
- Android: aplicación con el informe de volcado de bloqueo
- Mejor registrador de Android para iniciar sesión en el archivo
- Android: graba audio que se está reproduciendo desde el dispositivo a la toma de auriculares
- Cómo apagar el sonido MediaRecorder se reproduce cuando el estado cambia
- Android Log.X no imprime stacktrace
- ¿Cómo implementar el registro / registrarse en android?
- ¿Cuál es el significado del registro de la etiqueta: "szipinf" y el texto: "Initializing inflate state" de Logcat
- Android Proguard no elimina todos los mensajes de registro
- SLF4J varargs interpreta la primera cadena como marcador
- Cómo depurar Android inEclipse
- Android ocultar registros en la aplicación al cargar en el mercado
- ¿Por qué Logcat se llama LogCAT?
- Android: el método i (String, String) no está definido para el tipo Log
Era mi problema también. Debe utilizar métodos de clase de Log .
Como desarrollador de android, estos son el método comúnmente utilizado de la utilidad de registro
-
Log.d()
– Depurar -
Log.e()
– Error -
Log.i()
– Información -
Log.w()
– Advertencia -
Log.v()
– Verbosa -
Log.wtf()
– What a Terrible Failure: Reporte una excepción quenever
debería suceder.
Los métodos anteriores tienen ambos parámetros:
-
String , String
– Este es un parámetro básico que es un TAG y un mensaje. -
String, String, Throwable
– Tiene similitud en la primera. Sin embargo, si desea registrar unaException
o cualquierThrowable
s en logcat, aparte de llamar aprintStackTrace()
utilice esto.
EDIT : Ir directamente a responder a su pregunta. println()
de System.out
y System.err
todavía se mostrarán en logcat, pero con limitaciones.
- No puede registrar
VERBOSE
,ERROR
oDEBUG
utilizandoSystem.out
oSystem.err
. -
No puede definir su propia
TAG
, mostraráSystem.err
oSystem.out
con su texto. Como equivalencia-
System.out.println("Hello!")
Es equivalente aLog.i("System.out","Hello!")
-
System.err.println("Hello!")
Es equivalente aLog.w("System.err","Hello!")
-
System.out.println("")
en android no se ejecutará bien porque no hay ningún terminal al que se corrija la aplicación.
Sería mejor usar Log.(d)(v)(e)(i)(w)
, porque hay algo que supervisa activamente LogCat.
System.out.println()
imprimirá a LogCat, pero sólo después de un conjunto adicional de instuctions del sistema, lo que no es tan eficiente, sin embargo, como he dicho, todavía funciona.
si queremos rastrear el proyecto android
podemos hacerlo usando la clase Log
hay algunos métodos como
Log.e (TAG, MENSAJE)
Log.v (TAG, MENSAJE)
Log.w (TAG, MENSAJE)
Log.d (TAG, MENSAJE)
Log.i (TAG, MENSAJE)
es un método estático del paquete Utils. ponerlo línea por línea y u puede verlo en el LogCat ..
eso es disfrutar con android
Desde su propio enlace:
System.out.println () (o printf () para el código nativo) nunca debe ser utilizado. System.out y System.err son redirigidos a / dev / null, por lo que sus sentencias de impresión no tendrán efectos visibles. Sin embargo, todo el edificio de cadena que sucede para estas llamadas todavía se ejecuta.
Además, al principio de esa página, dice:
Las reglas a continuación no son directrices o recomendaciones, sino reglas estrictas. Las contribuciones a Android generalmente no serán aceptadas si no se adhieren a estas reglas.
Así que no lo hagas!
Puede utilizar la utilidad de registro incorporada que imprimirá directamente al LogCat.
Puede utilizar Log.e(String, String)
para los errores que aparecerán en rojo. También hay v
, d
, i
w
para verbose, debug, info y warning respectivamente.
Lo siguiente debe hacer el truco para imprimir la excepción
1. Log.d ("myapp", Log.getStackTraceString (new Exception ()));
o
2. Puede obtener trazas de pila más largas cavando más profundo. Por ejemplo:
Log.getStackTraceString (e.getCause (). GetCause ());
El registro es la mejor manera de rastrear nuestro proyecto android
como el siguiente código …
le ayudará u …
basta con buscar en DDMS logCat que exactamente cómo se construye el proyecto …
requisito … android.utils.Log; paquete se utiliza ..
@Anular
protected void onCreate (Paquete savedInstanceState)
{
Super.onCreate (savedInstanceState);
SetContentView (R.layout.activity_main);
para (int i = 0; i {
Log.e ("i =", "" + i);
Log.v ("i =", "" + i);
Log.i ("i =", "" + i);
Log.w ("i =", "" + i);
Log.d ("i =", "" + i);
}
}
espero que te ayude