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