Android: ¿Cómo puedo imprimir una variable en la consola eclipse?


Respuestas:


117

System.out.printlny Log.dambos van a LogCat, no a la consola.


1
El uso de LibGDX y System.out.println va a la consola. Buscando una forma de ingresarlo en logcat para poder iniciar sesión / depurar mi aplicación en un dispositivo real.
Madmenyo


6

Soy nuevo en el desarrollo de Android y hago esto:

1) Crea una clase:

importar android.util.Log;

depuración de clase final pública {
    depuración privada () {}

    public static void out (Object msg) {
        Log.i ("información", msg.toString ());
    }
}

Cuando termine el proyecto elimine la clase.

2) Para imprimir un mensaje en LogCat, escriba:

Debug.out ("something");

3) Cree un filtro en LogCat y escriba "info" en la entrada "por etiqueta de registro". Todos sus mensajes se escribirán aquí. :)

Consejo: cree otro filtro para filtrar todos los errores y depurarlos fácilmente.


8
No es una buena idea escribir código como este porque la clase Log es familiar para la mayoría ... todos los desarrolladores de Android. Al incluirlo en su propia clase y no agregar nuevas funciones, todo lo que hace es ocultar el significado de su código a otras personas además de usted.
Thomas Dignan

6

Escribir el siguiente código para imprimir cualquier cosa en LogCat funciona perfectamente bien.

int score=0;
score++;
System.out.println(score);

imprime la puntuación en LogCat.


3

¡Creo que el brindis puede ser un buen método para mostrar el valor de una variable!


1
El problema viene con Toast cuando los valores son muchos y rápidos, como las coordenadas ax, y que se registran en ACTION_MOVE. En tales casos, un texto de pantalla o una salida de registro podría ser una mejor solución.
TechNyquist

1

Ok, Toast no es complejo pero necesita un objeto de contexto para funcionar, podría serlo MyActivity.this, entonces puedes escribir:

Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();

Aunque Toast es un recurso de IU, usarlo en otro hilo diferente al hilo de ui enviará un error o simplemente no funcionará. Si desea imprimir una variable, coloque la variable name.toString()y concat que con el texto que desee en el parámetro String de maketext; )


0

tostar es una mala idea, es demasiado "complejo" para imprimir el valor de una variable. use log o sop, y como ya se ha dicho, su salida va a logcat. solo tiene sentido si desea exponer esta información al usuario final ...


0

Si el código que está probando es relativamente simple, puede crear un proyecto Java normal en el Explorador de paquetes y copiar el código, ejecutarlo y arreglarlo allí, luego copiarlo nuevamente en su proyecto de Android.

El hecho de que System.out sea redirigido es bastante molesto para probar rápidamente métodos simples, pero esa es la solución más fácil que he encontrado, en lugar de tener que ejecutar el emulador de dispositivo solo para ver si una expresión regular funciona.


0

Por cierto, en caso de que no sepa cuál es la ubicación exacta de su JSONObject dentro de su JSONArray, le sugiero que use el siguiente código: (Supuse que "jsonArray" es su variable principal con todos los datos, y estoy buscando la exacta objeto dentro de la matriz con función igual)

    JSONArray list = new JSONArray(); 
    if (jsonArray != null){
        int len = jsonArray.length();
        for (int i=0;i<len;i++)
        { 
            boolean flag;
            try {
                flag = jsonArray.get(i).toString().equals(obj.toString());
                //Excluding the item at position
                if (!flag) 
                {
                    list.put(jsonArray.get(i));
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }  
        } 
    }
    jsonArray = list;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.