看来如果你打电话
String text = "String<br>String";
Log.d(TAG, text);
它会自动解析String以获取两行。新行(\n
)字符也是如此。这使调试变得更加复杂。有没有办法告诉记录器给我一个确切的字符串?
答案 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