我想在控制台上打印变量的值以用于调试目的,但system.out.println不起作用。
答案 0 :(得分:117)
System.out.println
和Log.d
都转到LogCat,而不是控制台。
答案 1 :(得分:26)
Window-> Show View-> Other ... - > Android-> LogCat
答案 2 :(得分:6)
编写以下代码在LogCat上打印任何内容都可以正常工作!!
int score=0;
score++;
System.out.println(score);
在LogCat上打印得分。试试这个
答案 3 :(得分:6)
我是Android开发的新手,我这样做:
1)创建一个类:
import android.util.Log; public final class Debug{ private Debug (){} public static void out (Object msg){ Log.i ("info", msg.toString ()); } }
完成项目后,删除该课程。
2)要将消息打印到LogCat,请写:
Debug.out ("something");
3)在LogCat中创建一个过滤器,并在输入“by Log Tag”中写入“info”。您的所有消息都将写在此处。 :)
提示:创建另一个过滤器以过滤所有错误以便轻松调试。
答案 4 :(得分:3)
我认为吐司可能是展示变量价值的好方法!
答案 5 :(得分:1)
好的,Toast并不复杂,但它需要一个上下文对象才能工作,它可能是MyActivity.this
,然后你可以写:
Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();
虽然Toast是一个UI资源,然后在另一个与ui线程不同的线程中使用它,会发送错误或根本不起作用
如果要打印变量,请将变量name.toString()
与maketext字符串参数中的所需文本连接起来;)
答案 6 :(得分:0)
drawnonward是正确的,您可以参考此链接获取更多信息:http://developer.android.com/resources/faq/commontasks.html#logging
答案 7 :(得分:0)
toast是一个坏主意,打印变量的值太复杂了。使用log或s.o.p,并且已经说过,他们的输出转到logcat。只有你想将这些信息暴露给最终用户才有意义......
答案 8 :(得分:0)
如果您正在测试的代码相对简单,那么您可以在Package Explorer中创建一个常规Java项目并复制代码,运行并在那里修复它,然后将其复制回您的Android项目。
System.out被重定向的事实对于快速测试简单方法非常烦人,但这是我发现的最简单的解决方案,而不是仅仅为了查看正则表达式是否有效而运行设备模拟器。
答案 9 :(得分:0)
顺便说一下,如果你不知道JSONArray中你的JSONObject的确切位置 我建议使用下面的代码:(我假设“jsonArray”是你所有的主要变量数据,我正在使用equals函数搜索数组中的确切对象)
JSONArray list = new JSONArray();
if (jsonArray != null){
int len = jsonArray.length();
for (int i=0;i<len;i++)
{
boolean flag;
try {
flag = jsonArray.get(i).toString().equals(obj.toString());
//Excluding the item at position
if (!flag)
{
list.put(jsonArray.get(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
jsonArray = list;