【发布时间】:2011-02-14 16:46:55
【问题描述】:
出于调试目的,我想在控制台上打印变量的值,但 System.out.println 不起作用。
【问题讨论】:
出于调试目的,我想在控制台上打印变量的值,但 System.out.println 不起作用。
【问题讨论】:
System.out.println 和 Log.d 都转到 LogCat,而不是控制台。
【讨论】:
Window->Show View->Other…->Android->LogCat
【讨论】:
我是 Android 开发的新手,我这样做:
1) 创建一个类:
导入android.util.Log;
公共最终类调试{
私有调试 (){}
公共静态无效输出(对象消息){
Log.i("信息", msg.toString());
}
}
当你完成项目后删除类。
2) 向 LogCat 打印一条消息:
Debug.out ("something");
3) 在 LogCat 中创建一个过滤器,并在输入“by Log Tag”中写入“info”。你所有的信息都会写在这里。 :)
提示:创建另一个过滤器来过滤所有错误以便轻松调试。
【讨论】:
编写以下代码以在 LogCat 上打印任何内容都可以正常工作!!
int score=0;
score++;
System.out.println(score);
在 LogCat 上打印分数。试试这个
【讨论】:
我认为 toast 可能是显示变量值的好方法!
【讨论】:
好的,Toast 并不复杂,但它需要一个上下文对象才能工作,它可以是MyActivity.this,然后你可以写:
Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();
虽然 Toast 是 UI 资源,但在不同于 ui 线程的另一个线程中使用它,会发送错误或根本无法工作
如果你想打印一个变量,把变量name.toString() 和你想要的文本连接到maketext String 参数中;)
【讨论】:
toast 是个坏主意,打印变量的值太“复杂”了。使用 log 或 s.o.p,正如drawonward 已经说过的,它们的输出到 logcat。仅当您想将此信息公开给最终用户时才有意义...
【讨论】:
如果您要测试的代码相对简单,那么您可以在 Package Explorer 中创建一个常规 Java 项目,然后复制代码,运行并修复它,然后将其复制回您的 Android 项目。
System.out 被重定向的事实对于快速测试简单方法来说非常烦人,但这是我找到的最简单的解决方案,而不是必须运行设备模拟器来查看正则表达式是否有效。
【讨论】:
顺便说一句,如果您不知道 JSONObject 在 JSONArray 中的确切位置,我建议使用以下代码:(我假设“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;
【讨论】: