Quería imprimir el valor de una variable en la consola para mi propósito de depuración, pero system.out.println no funciona.
Quería imprimir el valor de una variable en la consola para mi propósito de depuración, pero system.out.println no funciona.
Respuestas:
System.out.println
y Log.d
ambos van a LogCat, no a la consola.
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.
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.
¡Creo que el brindis puede ser un buen método para mostrar el valor de una variable!
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; )
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.
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;