2010-05-05 16 views
5

क्या कोई जानता है कि एसएमएस क्लाइंट ऐप में स्टोर संदेशों में डेटा संरचनाओं का उपयोग किया जाता है, और इसके लिए कोई मौजूदा API है या नहीं।एंड्रॉइड में एसएमएस संदेशों के लिए प्रयुक्त डेटा संरचना

मैं शायद इस उद्देश्य के लिए एक लिंक सूची लागू करने की सोच रहा था, लेकिन यदि काम पहले से ही एक एपीआई में किया गया है तो शायद उस कार्य को समय देने के लिए अनावश्यक होगा जिसे प्रोग्रामिंग अन्य भागों में खर्च किया जा सकता है।

बहुत धन्यवाद

उत्तर

1

एंड्रॉयड में वहाँ है android.telephony.SmsMessage। यह एक ही एसएमएस संदेश स्टोर करने के लिए एंड्रॉइड के भीतर उपयोग की जाने वाली वस्तु है। आप इसे देख सकते हैं और ऐसा कुछ बना सकते हैं, या इसका पुन: उपयोग कर सकते हैं।

जहां तक ​​उन्हें स्टोर करने के लिए डेटा संरचना है, मैं सुझाव दूंगा कि आप java.util.List<E> का उपयोग करें, जो आपको मानक सरणी [] जैसी कुछ अन्य डेटा संरचनाओं पर अधिक लचीलापन देता है।

यदि आप लंबे समय तक अपने एसएमएस संदेशों को संग्रहीत करने की सोच रहे हैं, तो मैं आपको यह भी सुझाव दूंगा कि आप SQLlite, which is also a part of the Android platform का उपयोग करके दृढ़ता पर नज़र डालें।

1

बिल्ट-इन मैसेजिंग ऐप के लिए, यह डेटाबेस में सभी संदेशों को संग्रहीत कर रहा है। आप यह देखने के लिए एंड्रॉइड स्रोत कोड देख सकते हैं कि यह क्या करता है, लेकिन मैं इस डेटा को पढ़ने के खिलाफ सिफारिश करता हूं - यह आधिकारिक एसडीके का हिस्सा नहीं है, इसलिए यह बदल सकता है, या कुछ फोनों में यह नहीं हो सकता है।

इसे स्वयं संग्रहित करने के लिए - मैं एक लिंक की गई सूची का उपयोग नहीं करता। किसी डेटाबेस का उपयोग करें, यह किसी भी लगातार डेटा को स्टोर करने का पसंदीदा तरीका है (छोटे व्यक्तिगत मानों के अलावा, जिसके लिए आप SharePreferences का उपयोग करते हैं)।

1
Uri uriSMS=Uri.parse("Content://sms/inbox"); 
     Cursor cur=getContentResolver().query(uriSMS,null,null,null,null); 
     String[] sender=new String[100];String[] content=new String[100];int ct=0; 
     While(cur.moveToNext()){ 
      sender[ct]=cur.getString(2);//arg2: this is address 
      content[ct]=cur.getString(11);//arg11: this is body of SMS 
//[0: _id,1: thread_id,2: address,3: person,4: date,5: protocol,6: read,7: status,8: type,9: reply_path_present,10: subject,11: body,12: service_center,13: locked,14: error_code,15: seen] 
     } 

यह एसएमएस में सामग्री की संरचना है, उदाहरण के लिए, मुझे arg2 और arg11 मिलता है यह एसएमएस का पता और सामग्री है। इस नमूने का उपयोग करके, आप फोन में संग्रहीत सभी एसएमएस

पढ़ सकते हैं
संबंधित मुद्दे