Android: как я могу напечатать переменную на консоли затмения - PullRequest
91 голосов
/ 02 мая 2010

Я хотел напечатать значение переменной на консоли для моей цели отладки, но system.out.println не работает.

Ответы [ 10 ]

117 голосов
/ 02 мая 2010

System.out.println и Log.d оба идут в LogCat, а не в Консоль.

26 голосов
/ 09 января 2011

Окно-> Показать представление-> Другое… -> Android-> LogCat

6 голосов
/ 09 октября 2010

Я новичок в разработке Android и делаю это:

1) Создать класс:

import android.util.Log;

public final class Debug{
    private Debug (){}

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

Когда вы закончите проект, удалите класс.

2) Чтобы напечатать сообщение в LogCat, напишите:

Debug.out ("something");

3) Создайте фильтр в LogCat и напишите «info» во вход «Log Tag». Все ваши сообщения будут написаны здесь. :)

Подсказка: создайте еще один фильтр, чтобы отфильтровать все ошибки и легко их отладить.

6 голосов
/ 01 июля 2010

Написание следующего кода для печати чего-либо на LogCat прекрасно работает !!

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

печатает счет на LogCat. Попробуйте это

3 голосов
/ 02 мая 2010

Я думаю, тост может быть хорошим способом показать значение переменной!

1 голос
/ 05 января 2014

Хорошо, Toast не сложен, но для работы ему нужен объект контекста, это может быть MyActivity.this, тогда вы можете написать:

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

Хотя Toast является ресурсом пользовательского интерфейса, использование его в другом потоке, отличном от потока пользовательского интерфейса, приведет к ошибке или просто не будет работать. Если вы хотите напечатать переменную, поместите переменную name.toString() и сопоставьте ее с нужным текстом в параметре maketext String;)

0 голосов
/ 30 января 2015

Кстати, в случае, если вы не знаете, каково точное местоположение вашего JSONObject внутри вашего JSONArray, я предлагаю использовать следующий код: (Я предполагал, что "jsonArray" - это ваша основная переменная со всемиданные, и я ищу точный объект внутри массива с помощью функции равенства)

    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;
0 голосов
/ 15 мая 2013

Если код, который вы тестируете, относительно прост, то вы можете просто создать обычный Java-проект в Package Explorer и скопировать код, запустить его и исправить его там, а затем скопировать обратно в ваш проект Android.

Тот факт, что System.out перенаправлен, довольно раздражает для быстрого тестирования простых методов, но это самое простое решение, которое я нашел, вместо того, чтобы запускать эмулятор устройства, просто чтобы посмотреть, работает ли регулярное выражение.

0 голосов
/ 03 мая 2010

тост - плохая идея, это слишком "сложно", чтобы вывести значение переменной. используйте log или s.o.p, и, как уже было сказано, их вывод отправляется в logcat. это имеет смысл, только если вы хотите предоставить эту информацию конечному пользователю ...

0 голосов
/ 02 мая 2010

drawonward правильно, вы можете обратиться по этой ссылке для получения дополнительной информации: http://developer.android.com/resources/faq/commontasks.html#logging

...