Android日志字符串带换行符或<br/>

时间:2014-09-08 15:40:27

标签: android android-logcat

看来如果你打电话

String text = "String<br>String";
Log.d(TAG, text);

它会自动解析String以获取两行。新行(\n)字符也是如此。这使调试变得更加复杂。有没有办法告诉记录器给我一个确切的字符串?

2 个答案:

答案 0 :(得分:7)

Log类中方法的参数是Java字符串,因此转义特殊字符就像在Java中一样。例如,

String text = "String\nString";
Log.d("TEST!!", text);

会给你:

D/TEST!!﹕ String
    String

,同时:

String text = "String\\nString";
Log.d("TEST!!", text);

会给你:

D/TEST!!﹕ String\nString

在logcat中。

<BR>而言,我没有看到与你相同的效果。具体来说,

String text = "String<br>String";
Log.d("TEST!!", text);

产地:

D/TEST!!﹕ String<br>String

所以我无法重现您的实际问题。但是,通常,Log字符串中的特殊字符将像任何其他Java字符串一样进行转义。记录器很笨,没有设置可以自动转义特殊字符;你必须自己做任意字符串。 Log方法只需转身并调用println_native

答案 1 :(得分:2)

我使用System.getProperty(“line.separator”)

ArrayList<String> txts = new ArrayList<String>();
txts.add("aoeuaeou");
txts.add("snhsnthsnth");
String msg = TextUtils.join(System.getProperty("line.separator"),txts);
Log.d(TAG, "Bla bla bla: "+ msg );

在日志中显示

Bla bla bla: aoeuaeou
snhsnthsnth