Недавно я работал с некоторыми большими объектами JSON, и мне нужно было вывести содержимое на консоль. JSON имел длину более 2000 символов и не помещался в окне консоли LogCat в Android Studio.

Поэтому я создал эту функцию, которая разбивает любую строку на более мелкие фрагменты для лучшего вывода. Наслаждаться!

Ява

public final class DebugUtilis {

    public static int _charLimit = 2000;

    public static int v(String tag, String message) {

        // If the message is less than the limit just show
        if (message.length() < _charLimit) {
            return Log.v(tag, message);
        }
        int sections = message.length() / _charLimit;
        for (int i = 0; i <= sections; i++) {
            int max = _charLimit * (i + 1);
            if (max >= message.length()) {
                Log.v(tag, message.substring(_charLimit * i));
            } else {
                Log.v(tag, message.substring(_charLimit * i, max));
            }
        }
        return 1;
    }
}

Котлин

object DebugUtilis {
    var _charLimit = 2000
    @JvmStatic
    fun v(tag: String?, message: String): Int { 
        // If the message is less than the limit just show
        if (message.length < _charLimit) {
            return Log.v(tag, message)
        }
        val sections = message.length / _charLimit
        for (i in 0..sections) {
            val max = _charLimit * (i + 1)
            if (max >= message.length) {
                Log.v(tag, message.substring(_charLimit * i))
            } else {
                Log.v(tag, message.substring(_charLimit * i, max))
            }
        }
        return 1
    }
}