मैं संपर्क बैकअप और सिंक पर काम कर रहा हूं।संपर्क बैकअप और सिंक अनुप्रयोग
लक्ष्य सभी संपर्कों के सभी विवरण एक सर्वर (कस्टम प्रोटोकॉल परिभाषित) को बैकअप के रूप में भेजना है।
आवेदन के प्रारंभिक लॉन्च के दौरान, सभी संपर्कों को कतारबद्ध किया जाएगा और सर्वर को भेजा जाएगा। और उसके बाद, एक पृष्ठभूमि सेवा हर समय चल रही है जो नए संपर्क जोड़/संपर्क अपडेट को सुनती है, और यह नया/अद्यतन संपर्क पृष्ठभूमि सेवा द्वारा सर्वर पर भेजा जाएगा।
मैं रिकॉर्ड्स लाने के लिए RawContactsEntity का उपयोग कर रहा हूं।
मैंने संपर्क जोड़ या संपर्क-परिवर्तन की अधिसूचना प्राप्त करने के लिए कच्चे संपर्क/डेटा तालिकाओं पर ContentObserver
का उपयोग करने का प्रयास किया। लेकिन, AFAIK, ContentObserver
पूरी तरह से तालिका में परिवर्तित डेटा की अधिसूचना (onChange()
) देता है और व्यक्तिगत रिकॉर्ड की आईडी नहीं।
अब मेरी समस्या यह है कि सटीक आईडी के बदले/नए रिकॉर्ड कैसे प्राप्त करें?
मैंने मूल संपर्क तालिका के साथ तुलना करने के लिए बैकअप तालिका बनाने और बदले गए रिकॉर्ड प्राप्त करने के बारे में सोचा। लेकिन जैसे-जैसे संपर्कों की संख्या में वृद्धि होती है, प्रदर्शन काफी हद तक मर जाएगा और इससे बैटरी जीवन में भी बाधा आ जाएगी।
क्या आप मुझे सुझाव दे सकते हैं, प्रदर्शन और स्मृति उपयोग बिंदु से इस संपर्क बैकअप ऑपरेशन को प्राप्त करने का सबसे अच्छा तरीका? क्या संपर्क सिंक ऑपरेशन के लिए कोई अन्य तरीका है?
अगर कोई ऐसा उदाहरण साझा कर सकता है जो इसमें मेरी मदद कर सकता है तो यह बहुत उपयोगी होगा।