在Logcat上显示更多字符串

bro*_*bro 37 android logcat

我目前正在开发一个Android应用程序,它使用'JSON'作为服务器的响应.通常我会处理JSON响应.但是现在我遇到了logcat的问题,如果JSON响应字符串非常长,超过x个字符(我不知道logcat可以显示的最大字符串到底有多少),一些JSON字符串丢失了.

虽然它仍然可以给我输出,但我需要有关从服务器传输的JSON字符串的信息.

是否有可能在logcat上显示更多字符串?就像增加缓冲区或任何可以用来增加logcat可以显示的最大字符串长度的参数一样.

Kar*_*ell 73

丑陋,但它做的工作:

public static void longInfo(String str) {
    if(str.length() > 4000) {
        Log.i(TAG, str.substring(0, 4000));
        longInfo(str.substring(4000));
    } else
        Log.i(TAG, str);
}
Run Code Online (Sandbox Code Playgroud)

  • @Travis什么是迭代;)? (3认同)

Swa*_*ske 9

if(xml.length() > 4000) {
 for(int i=0;i<xml.length();i+=4000){
    if(i+4000<xml.length())
        Log.i("rescounter"+i,xml.substring(i, i+4000));
     else
        Log.i("rescounter"+i,xml.substring(i, xml.length()));
}
} else
Log.i("resinfo",xml);
Run Code Online (Sandbox Code Playgroud)

这就是我做到的.


mai*_*450 1

如果您没有使用 Eclipse,或者您使用了但 @Nanne 答案对您不起作用,我只能考虑两种选择:

  1. 最好但更复杂,我想你的 JSON 是由某种“iterables”(JSON 对象和/或数组)组成的,因此,你可以解析和遍历 JSON 并分别打印 LogCat 中的每个元素
  2. 更简单但也更难看,将 JSON 字符串拆分为子字符串并在 LogCat 中打印每个子字符串(您可以在此处找到拆分字符串的不同方法)

编辑:另一种可能性:将 JSON 像日志一样写入 SD 卡中的文件,然后在要检查响应时检索该文件