创建一个简单的输出到logcat

时间:2013-03-15 06:17:37

标签: android logging int

我无法弄清楚在logcat中输出int的正确方法,而api document对我来说没有意义。

我觉得应该这样做:

package com.example.conflip;

import java.util.Random;

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

public class MainActivity extends Activity {

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

    public int flip() {
        Random randomNumber = new Random();
        int outcome = randomNumber.nextInt(2);
        Log.d(outcome);
        return outcome;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

但是我只收到错误The method d(String, String) in the type Log is not applicable for the arguments (int)

我是否需要将int转换为字符串?如果是这样,怎么样?

更新

虽然以下所有解决方案都有效,但在我选择DDMS中的硬件设备之前,LogCat不会显示输出。

6 个答案:

答案 0 :(得分:2)

使用Integer.toString(outcome),因为在Log

中需要String作为参数
so overall Log.d(tag_name, Integer.toString(outcome));

here您可以看到日志的详细信息。

答案 1 :(得分:2)

在onCreate方法之前添加此行

private static final String TAG = "your activity name";

现在你在翻转

Log.d(TAG, "outcome = " + outcome);

答案 2 :(得分:1)

使用Log.d(String,String)。第一个字符串是一个标记,它将出现在logcat中 - 一个可以搜索的简单标识符。第二个是打印到日志的消息。要获取int的字符串,请使用Integer.toString(value)。

答案 3 :(得分:1)

使用此:

public int flip() {
    Random randomNumber = new Random();
    int outcome = randomNumber.nextInt(2);
   Log.d("This is the output", outcome.toString());
    return outcome;
}

答案 4 :(得分:1)

public class MainActivity extends Activity {

private String TAG = "MainActivity"; //-------------Include this-----------
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        flip();   //----You miss this out perhaps-----
    }
public int flip() {
    Random randomNumber = new Random();
    int outcome = randomNumber.nextInt(2);
    Log.d(TAG, "Checking Outcome Value:" +outcome); //----Include this--------
    return outcome;
}

您也可以将Log.d更改为Log.i(信息),Log.w(警告),Log.e(错误)

这取决于您要显示的消息类型(主要颜色不同)。

答案 5 :(得分:0)

你应该使用string.valueof(整数)来获取log cat中的输出,例如。

int outcome = randomNumber.nextInt(2);
        Log.d("urtag",String.valueOf(outcome));