就我(当前)的理解而言,Android没有可以发送消息的控制台,因此System.out.println消息会丢失。相反,应该使用Log.x(输出到LogCat)。
然而,在备受赞誉的Pro Android 2书中,listing 8-1就是这样做的:
in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String page = sb.toString();
System.out.println(page);
System.out.println 在Android中是否真的有用,还是只是一个错字?
如果是前者(即不一个错字),它真正做了什么以及我应该在哪里找到输出?
答案 0 :(得分:3)
System.out.println打印到当前定义为“标准”输出PrintStream的任何内容。可以将其挂钩以指向日志流,但实际上没有充分的理由使用它。使用Log.x。
这可能只是书中的一个错字。该代码段中没有任何内容是特定于Android的。
答案 1 :(得分:2)
System.out.println代码确实有效(尽管android文档说的是什么)。我已经在我的Android开发设置上试了一下(没有像文档中描述的那样更改设置)。我已经尝试过我的Android编程学生的设置,包括Windows和Mac。它总是以同样的方式出现:
以下行默认输出到logcat。
System.out.println(“blah blah”);
当然,无论如何,最好坚持使用Log.x()。依靠未记录的功能可能永远不是一个好主意,尤其是在书中。这个功能今天可以在这里,并且在下次工具更新时也一样。
答案 2 :(得分:1)
来自android docs:
默认情况下,Android系统将stdout和stderr(System.out和System.err)输出发送到/ dev / null。
它还解释了如何正确使用System.out和System.err。
答案 3 :(得分:0)
如果您正在使用Eclipse,则System.out将显示在LogCat选项卡上,而不是在控制台中。 您也可以尝试Log.i(“MyLog”,“此处的消息......”);也显示在LogCat上。
享受!