2014-09-08 3 views
5

ऐसा लगता है कि अगर आपन्यू लाइन चरित्र के साथ एंड्रॉयड लॉगिंग स्ट्रिंग्स या <br>

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

फोन यह स्वचालित रूप से स्ट्रिंग को पार्स करता है दो पंक्तियों लेने के लिए। यह नई लाइन (\n) वर्णों के लिए जाता है। इससे डीबगिंग अधिक जटिल हो जाती है। क्या मुझे सही स्ट्रिंग देने के लिए लॉगर को बताने का कोई तरीका है?

उत्तर

6

Log कक्षा में विधियों के तर्क जावा स्ट्रिंग्स हैं, इसलिए विशेष वर्णों से बचने के लिए जावा में ही है। उदाहरण के लिए,

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 विधियां बस बारी करें और println_native पर कॉल करें।

+0

Stackoverflow भी स्वरूपित तरह लॉग में

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); 

शो का उपयोग अपने
दूर ... मैं वास्तव में एक स्ट्रिंग है है के साथ वैध
Christian

1

मैं System.getProperty ("line.separator")

Bla bla bla: aoeuaeou 
snhsnthsnth 
संबंधित मुद्दे