سؤال

نظرًا لأننا نستخدم Logcat كوحدة تحكم لـ Android. هناك حالات عندما يكون نص الإخراج/MSG كبيرًا نوعًا ما ولا يمكنني رؤية الإخراج الكامل. يُظهر القطة السجل الجزء البدء منه فقط. هل هناك طريقة لتوسيعه حتى أتمكن من رؤية MSG الكامل؟

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في كتابة رسائل طويلة لتشاهدها في logcat قد يكون من المفيد كتابة الغلاف الخاص بك حول android.util.Log الطرق التي تقسيم رسالتك الطويلة على خطوط متعددة.

نصائح أخرى

هذه هي الطريقة التي حللت بها المشكلة. أتمنى أن يساعد ذلك.

الطريقة المهمة لاستخدامه داخل الكود الخاص بك هي splitandlog.

public class Utils {
    /**
     * Divides a string into chunks of a given character size.
     * 
     * @param text                  String text to be sliced
     * @param sliceSize             int Number of characters
     * @return  ArrayList<String>   Chunks of strings
     */
    public static ArrayList<String> splitString(String text, int sliceSize) {
        ArrayList<String> textList = new ArrayList<String>();
        String aux;
        int left = -1, right = 0;
        int charsLeft = text.length();
        while (charsLeft != 0) {
            left = right;
            if (charsLeft >= sliceSize) {
                right += sliceSize;
                charsLeft -= sliceSize;
            }
            else {
                right = text.length();
                aux = text.substring(left, right);
                charsLeft = 0;
            }
            aux = text.substring(left, right);
            textList.add(aux);
        }
        return textList;
    }

    /**
     * Divides a string into chunks.
     * 
     * @param text                  String text to be sliced
     * @return  ArrayList<String>   
     */
    public static ArrayList<String> splitString(String text) {
        return splitString(text, 80);
    }

    /**
     * Divides the string into chunks for displaying them
     * into the Eclipse's LogCat.
     * 
     * @param text      The text to be split and shown in LogCat
     * @param tag       The tag in which it will be shown.
     */
    public static void splitAndLog(String tag, String text) {
        ArrayList<String> messageList = Utils.splitString(text);
        for (String message : messageList) {
            Log.d(tag, message);
        }
    }
}

لا أستخدم واجهة المستخدم الرسومية لعرض إخراج logcat ، لذلك لست متأكدًا من أين/ما إذا كانت هناك أشرطة تمرير في DDMS/Eclipse UI.

على أي حال ، يمكنك استخدام Logcat من سطر الأوامر - هناك الكثير من الخيارات.

لمشاهدة سجل جهاز نشط باستمرار: adb logcat
لتفريغ السجل كله: adb logcat -d
لتفريغ السجل بالكامل إلى ملف: adb logcat -d > log.txt
لتصفية وعرض علامة سجل معينة: adb logcat -s MyLogTag

...وأكثر بكثير!

بالطبع ، يمكنك تغيير عرض العمود ، فقط عن طريق الانتقال إلى نهاية النقر فوق الخط والسحب. هذا ألم لرسائل طويلة حقًا. إذا كان لدي رسالة طويلة حقًا ، فأنا عمومًا نسخ الخط ولصقه في ملف نصي. Ctrl-C في Windows سوف نسخه.

للإضافة إلى إجابة Jay Askren ، يمكنك أيضًا النقر نقرًا مزدوجًا على الحافة اليمنى لرأس عمود "النص" لتوسيعه بالكامل. لقد لاحظت أنه على الرغم من ذلك ، فهناك حد لعدد Chars Eclipse الذي سيتم عرضه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top