Як виводити повідомлення на консоль Eclipse при розробці для Android


164

Як я можу надрукувати повідомлення (як прапор) на консолі Eclipse (або в журнал) під час розробки та налагодження програми для Android

Відповіді:


153

Замість того, щоб намагатися вивести на консоль, Logвиведіть на LogCat, який ви можете знайти в Eclipse, перейшовши до: Window-> Show View-> Other… -> Android-> LogCat

Погляньте на посилання наLog .

Переваги використання LogCat полягають у тому, що ви можете друкувати різні кольори залежно від типу журналу, наприклад: Log.dдрукує синій, Log.eдрукує помаранчевий. Крім того, ви можете фільтрувати по лог - тега , повідомлення журналу , ідентифікатор процесу і / або по імені додатки . Це дуже корисно, коли ви просто хочете бачити журнали свого додатка та зберігати окремі дані системи.


3
мій, мій, як це просто може бути .... ці маленькі ласощі допомагають тим з нас, які НОВІ на цих платформах. Дякую m6tt! FYI: тут є варіант фільтра, який допомагає ДУЖЕ ЧАС ~
Sage

48
Log.v("blah", "blah blah");

Вам потрібно додати перегляд журналу андроїд у затемненні, щоб побачити їх. Існують також інші методи залежно від тяжкості повідомлення (помилка, багатослівність, попередження тощо).


2
+1 Як щодо цього робити в бібліотеці? Я спробував, але це не показує нічого на logcat.
Рой Лі

29

System.out.println()також виводить у LogCat. Перевага використання старого хорошого System.out.println()полягає в тому, що ви можете надрукувати об'єкт, як System.out.println(object)на консолі, якщо вам потрібно перевірити, чи ініціалізована змінна чи ні.

Log.d, Log.vі Log.wт. д. Методи дозволяють друкувати лише рядки на консолі, а не об'єкти. Щоб обійти це (якщо хочете), ви повинні використовувати String.format.


3
Або для об’єктів-об’єктів ви завжди можете використовувати toString(). Це те, що System.out.println(Object)робиться всередині. Якщо використовується сам toString()метод Object(наприклад, для типів масивів), можливо, ви не отримаєте корисного результату.
Maarten Bodewes

рятує мене від набору тексту. Я завжди люблю, коли Об'єкти піклуються про себе. ; )
Тіртха

Він не скидає об'єкт, він друкує те саме, що і Log.
Франциско Корралес Моралес

..і це все-таки рятує мене від створення константи рядка для Log.wever, і вводити його щоразу, коли я хочу щось в консолі, і форматувати об'єкт у рядок.
Тіртха

1
Якщо ваш об’єкт недійсний, то toString () явно кине NPE. Ніколи не слід дзвонити toString () на об’єкт у виписці з журналу, а скоріше використовувати бібліотеку журналів, яка буде робити ці перевірки, якщо ви просто переходите в об’єкт.
Томас Ейзінгер

15

Я використовую метод Log.d, також будь ласка імпортуйте import android.util.Log;

Log.d("TAG", "Message");

Але врахуйте, що, коли ви хочете бачити повідомлення про налагодження, тоді не використовуйте Run As, а скоріше використовуйте "Debug As", а потім виберіть Android Application. Інакше повідомлення про налагодження ви не побачите.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.