我无法弄清楚在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不会显示输出。
答案 0 :(得分:2)
使用Integer.toString(outcome)
,因为在Log
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));