Почему я не могу видеть свои инструкции печати в Logcat?


Я пытаюсь отладить код на моей первой программе для Android. Я начал использовать обычный println, и он работал в более раннем методе main (onCreate), показывая результаты в LogCat. Тем не менее, это, кажется, не работает ниже, поэтому я начал пытаться работать с журналом.я/журнал.d безрезультатно. Я в основном пытаюсь увидеть, действительно ли программа выполняет приведенный ниже метод - хотя в LogCat не создаются операторы печати, я думаю, что код на самом деле работает, как когда я нажимаю кнопку "new" или "exit"на моем компьютере. приложение, кажется, fo к правильному месту в операторе case и запускает finish ();

Любая помощь была бы очень признательна в получении чего-то напечатанного в LogCat, так что я могу видеть, что происходит.

Спасибо

Эд Райан


 public void onClick(final View v) {

        System.out.println("Here in  - onClick");
        switch (v.getId()) {
        case R.id.about_button:
           System.out.println("Here in  - onClick1");
           Intent i = new Intent(this, About.class);
           startActivity(i);
           break;
        case R.id.new_button:
            System.out.println("Here in  - onClick2");
            finish();
           //openNewGameDialog();
           break;
        case R.id.exit_button:
            Log.i("onDisabled","info");
            Log.d(TAG, "onDisabled");
            System.out.println("Here in  - onClick3");
           finish();
           break;
        }
     }


}//end class



5 2

5 ответов:

Я испытал это при использовании LogCat в Eclipse. Это происходит, когда устройство отключается или теряет фокус, или когда вы отлаживаете с помощью 2 или более различных устройств/эмуляторов.

Попробуйте следующее:

  1. перейдите к перспективе DDMS и дважды щелкните приложение, которое вы отлаживаете, или, по крайней мере, устройство. Вы должны увидеть, как вкладка LogCat заполняется новыми сообщениями.
  2. Удалите все устройства, кроме того, с которым вы работаете в данный момент.
  3. попробуйте просто используя журнал.* снова функции.
  4. установить фильтр logcat для отладки или verbose.

Если все остальное не сработает:

Я делал все вышеперечисленные вещи и не мог понять, что было не так,

Тест с:

adb logcat

Чтобы выяснить, что мои записи были инфактными в logcat, но это были причуды adt.

Исправить:

Перезапустить eclipse

Это было единственное, что его исправило.

Джереми Эдвардс на правильном пути. Вам нужно открыть перспективу DDMS и щелкнуть имя вашего устройства. Затем вернитесь к своей основной точке зрения. Иногда журнал все еще не показывает то, что вы хотите видеть, поэтому выберите обведенную "V" над logcat. Это будет отображаться в расширенном режиме в logcat и все. В противном случае вы можете отфильтровать его с помощью i или d, которые связываются с Log.я или Лог.d, соответственно. Затем прокрутите до нижней части logcat, чтобы просмотреть самые последние сообщения с устройства.

Одно уточнение к ответу Джереми. На кончике, где он сказал...

"удалите все устройства, кроме того, с которым вы работаете в данный момент."

Это не сработало для меня сразу, но после того, как я сделал это и вошел в:

Run > Debug Configuration > target (вкладка справа)

И щелкнул по кнопке рядом с устройством, которое работало нормально. Я не уверен, требовалось ли как удаление устройств, так и проверка коробки, или просто проверка коробки было бы достаточно, но я думаю, что пока она работает, все хорошо.

Если вы пытаетесь увидеть вывод AVD в Eclipse, иногда Eclipse и эмулятор отключаются. Обычно, если вы выполните эти команды, все прояснится:

adb kill-server
adb start-server

Откройте окно устройства и убедитесь, что вы видите ваше устройство/AVD.