Android: como posso imprimir uma variável no console do Eclipse


Respostas:


117

System.out.printlne Log.dambos vão para LogCat, não para o console.


1
Usando LibGDX e System.out.println vai para o console. Procurando uma maneira de colocá-lo no logcat para que eu possa registrar / depurar meu aplicativo em um dispositivo real.
Madmenyo

26

Janela-> Mostrar Visualização-> Outro ... -> Android-> LogCat


6

Sou novo no desenvolvimento para Android e faço o seguinte:

1) Crie uma classe:

import android.util.Log;

public final class Debug {
    Debug privado () {}

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

Ao terminar o projeto, exclua a classe.

2) Para imprimir uma mensagem para o LogCat escreva:

Debug.out ("something");

3) Crie um filtro no LogCat e escreva "info" na entrada "por Log Tag". Todas as suas mensagens serão escritas aqui. :)

Dica: Crie outro filtro para filtrar todos os erros para depurar facilmente.


8
Não é uma boa ideia escrever um código como este porque a classe Log é familiar para a maioria ... todos os desenvolvedores Android. Ao envolvê-lo em sua própria classe e não adicionar novas funcionalidades, tudo o que você faz é obscurecer o significado do seu código para outras pessoas além de você.
Thomas Dignan,

6

Escrever o código a seguir para imprimir qualquer coisa no LogCat funciona perfeitamente bem !!

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

imprime pontuação no LogCat.Experimente isto


3

Acho que o brinde talvez seja um bom método para mostrar o valor de uma variável!


1
O problema surge com o Toast quando os valores são muitos e rápidos, como as coordenadas ax, y registrando em ACTION_MOVE. Nesses casos, um texto de tela ou uma saída de log pode ser a solução melhor.
TechNyquist,

1

Ok, o Toast não é complexo, mas precisa de um objeto de contexto para funcionar, pode ser MyActivity.this, então você pode escrever:

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

Embora o Toast seja um recurso de IU, usá-lo em outro thread diferente do ui thread enviará um erro ou simplesmente não funcionará. Se você quiser imprimir uma variável, coloque a variável name.toString()e concate-a com o texto desejado no parâmetro maketext String; )


0

brinde é uma má ideia, é muito "complexo" para imprimir o valor de uma variável. use log ou sop, e como o drawonward já disse, sua saída vai para o logcat. só faz sentido se você deseja expor essas informações ao usuário final ...


0

Se o código que você está testando for relativamente simples, você pode apenas criar um projeto Java normal no Package Explorer e copiar o código, executá-lo e corrigi-lo lá e, em seguida, copiá-lo de volta para seu projeto Android.

O fato de System.out ser redirecionado é muito irritante para testar métodos simples rapidamente, mas essa é a solução mais fácil que encontrei, em vez de ter que executar o emulador de dispositivo apenas para ver se uma expressão regular funciona.


0

A propósito, caso você não saiba qual é a localização exata de seu JSONObject dentro de seu JSONArray, sugiro usar o seguinte código: (Presumi que "jsonArray" é sua variável principal com todos os dados, e estou pesquisando o exato objeto dentro da matriz com função 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;
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.