1

我想在我的 android 程序中查看任何变量(String var)值。您可以说是出于调试目的。

当我使用 System.out.print("Hello") 打印任何内容时,我无法在任何地方找到此输出。

有谁知道在哪里可以找到这个输出。

这是我的代码-

package com.test1.nus;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        System.out.print("Hello");

        ....
     }
4

7 回答 7

4

默认情况下,Android 系统会将stdout( System.out) 输出重定向到/dev/null,这意味着您的消息会丢失。

相反,在 Android 中记录调试字符串的常见模式如下

import android.util.Log;

然后在你班级的顶部YourClass

private static final String TAG = YourClass.class.getSimpleName();

要记录调试字符串,您需要调用

Log.d(TAG, "your debug text here");

在你的情况下导致

package com.test1.nus;

import android.util.Log;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

    private static final String TAG = MainActivity.class.getSimpleName();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.d(TAG, "Hello");

        ....
    }

最后,您可以通过 Eclipse 在 Eclipse 中查看您的调试字符串

Windows > Show view > Other并选择LogCat

如果需要,按标签过滤YourClass

但是,如果您确实需要查看由System.out.println您编写的消息,则需要告诉 Android 通过以下 shell 命令将它们路由到 logcat

$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start

然后您将能够通过 LogCat 视图和标签在 Eclipse 中看到您的调试消息stdout

您可以从此处的官方文档中获取更多详细信息http://developer.android.com/tools/debugging/debugging-log.html

于 2012-09-24T04:17:26.343 回答
3

您的输出将记录到logcat

假设您使用的是 eclipse:

Window > Show View ---> Logcat (If this not visible, select other--Android--Logcat)
于 2012-09-24T03:41:05.313 回答
2

请参阅此链接:http ://www.droidnova.com/debugging-in-android-using-eclipse,541.html 它将显示一些与 logcat 相关的屏幕截图。在那里你可以找到你的输出信息。

按照这个:http: //developer.android.com/tools/help/logcat.html

于 2012-09-24T03:45:15.520 回答
2

如果您想在 android 模拟器中检查您的输出,请使用Toast messages.

system.out.println("....") 的结果将显示在logcat.

要签入android emulator/device.just 这样做

Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_LONG).show();
于 2012-09-24T03:46:19.427 回答
0

我建议你看看android.util.log类。Android 开发者页面对使用它有很好的介绍。(其实我今天才发现这个,因为我自己正在学习Android编程。)

于 2012-09-24T03:43:35.900 回答
0

如果你使用 AVD 会给你带来比仅仅在日志中打印更有趣的体验。在这里,他们完美地描述了所有这些事情。

于 2012-09-24T04:00:13.870 回答
0

如果出于调试目的,最好使用 Logs。

有多种方法可用,例如 Log.v() Log.d() Log.i() Log.w() 和 Log.e() 分别用于详细、调试、信息、警告和错误日志。

然后您可以在调试应用程序时检查 logcat。

如需进一步参考,请转到此处

于 2016-05-22T20:05:13.187 回答