2010-05-20 11 views
5

मैंने "सामग्री // एसएमएस /" पूछताछ की और मुझे नहीं पता कि कुछ फ़ील्ड का क्या अर्थ है। वे हैं -एंड्रॉइड "सामग्री // एसएमएस /" सामग्री प्रदाता में मूल्यों का क्या अर्थ है?

  1. थ्रेड ID
  2. प्रोटोकॉल
  3. स्थिति
  4. Reply_Path_Present
  5. Service_Center

मैं उन्हें LogCat में जाँच की और मूल्यों पाया इन होने के लिए:

  • थ्रेड ID: 1 6 आदि के लिए ..
  • प्रोटोकॉल: अशक्त/0
  • स्थिति: -1
  • Reply_Path_Present: अशक्त/0
  • Service_Center: अशक्त

कृपया मुझे बताओ कि उन मूल्यों के अर्थ हैं।

उत्तर

6

आप किसी भी सामग्री प्रदाता के कॉलम नाम पुनर्प्राप्त करने के लिए Cursor.getColumnNames() का उपयोग कर सकते हैं, उदा।

ContentResolver contentResolver = getContentResolver(); 
Cursor cursor = contentResolver.query(
    Uri.parse("content://sms/inbox"), null, null, null, null); 

String[] columnNames = cursor.getColumnNames(); 

content://sms/inbox के लिए यह _ id, thread_id, पता, व्यक्ति, तिथि, प्रोटोकॉल, पढ़ते हैं, स्थिति, प्रकार, reply_path_present, विषय, शरीर, service_center, मेरे फोन पर बंद कर दिया अर्जित करता है।

आप SmsProvider पर भी एक नज़र डाल सकते हैं लेकिन यह सार्वजनिक API का हिस्सा नहीं है।

+0

धन्यवाद, जोसेफ। अंग्रेजी में मेरी कमजोरी के लिए खेद है। मेरा मतलब है उदाहरण के रूप में, स्थिति '-1' के मूल्य में इसका क्या अर्थ है। क्या सामग्री के केवल 15 फ़ील्ड // एसएमएस हैं? क्या यह एंड्रॉइड संस्करण पर निर्भर करता है? मैं आपके साझा लिंक, SmsProvider जैसे ओपन सोर्स कोड कहां और कैसे सीख सकता हूं? दरअसल, मैंने एंड्रॉइड में 2 महीने तक काम किया है। तो मुझे और बताएं। – soclose

+0

एसएमएस सामग्री प्रदाता स्वयं "सार्वजनिक एपीआई का हिस्सा नहीं है"। यदि यह था, तो आप 'android.provider' पैकेज में इसके लिए कक्षाएं देखेंगे। Http://android-developers.blogspot.com/2010/05/be-careful-with-content-providers.html – CommonsWare

+0

देखें। मुझे बताएं कि उपर्युक्त 5 फ़ील्ड का उपयोग किसके लिए किया जाता है। – soclose

1

अनुवर्ती एक विशेष कर्सर के सभी कॉलम निर्धारित करने का तरीका है।

StringBuffer info = new StringBuffer(); 
for(int i = 0; i < Cursor.getColumnCount(); i++) { 
    info.append("Column: " + Cursor.getColumnName(i) + "\n"); 
} 

यह जानने के लिए प्रिंट करें कि तालिका में सभी कॉलम क्या हैं।