2012-06-04 18 views
6

मैं यह पता लगाने की कोशिश कर रहा हूं कि मुझे अपने एंड्रॉइड ऐप में एक सिंक एडाप्टर का उपयोग करने की आवश्यकता है या नहीं।सिंक एडाप्टर का उपयोग कब/नहीं करना

प्रक्रियात्मक दृष्टिकोण उदाहरण:

  1. (के साथ नेटवर्क कवरेज) एक उपयोगकर्ता द्वारा किए गए परिवर्तन स्वचालित रूप से सर्वर के लिए भेजा जाएगा।
  2. (नेटवर्क कवरेज के बिना) परिवर्तन एक स्क्लाइट टेबल में सहेजे जाएंगे और परिवर्तनों को अपलोड करने के लिए ऑनलाइन प्रसारण की प्रतीक्षा करेंगे।
  3. सर्वर पर भेजे गए परिवर्तन सर्वर पर जो कुछ हद तक स्क्वाइट टेबल मिररिंग में सहेजे जाएंगे।
  4. सर्वर पर परिवर्तन परिवर्तन के उपयोगकर्ताओं को सूचित करने के लिए सी 2 डीएम ढांचे का उपयोग करेंगे।
  5. जब ऐप अधिसूचना प्राप्त करता है तो यह सर्वर से आवश्यक डेटा लाएगा और एसक्लाइट टेबल अपडेट करेगा।

प्रश्न है, क्या मुझे इस काम के लिए एक सिंक एडाप्टर का उपयोग करना चाहिए? यदि ऐसा है तो ऊपर दिए गए मेरे उदाहरण के आधार पर उच्च स्तरीय दृष्टिकोण क्या होगा। धन्यवाद।

उत्तर

2

आप किस सर्वर एप्लिकेशन के साथ सिंक करना चाहते हैं? यदि आपका ऐप किसी सर्वर के साथ उपयोगकर्ता डेटा को सिंक्रनाइज़ करना चाहता है, तो C2DM (सिंक एडाप्टर का उपयोग करके) जाने का तरीका हो सकता है। यह ओवरहेड प्रदान करता है। मुझे लगता है कि ज्यादातर मामलों में, एक सरल आराम से इंटरफेस बनाना और बनाए रखना आसान है।

आप एक अधिक विस्तृत जवाब चाहते हैं, तो आप अपने ऐप बारे में अधिक जानकारी प्रदान कर सकें।

+0

उत्तर के लिए धन्यवाद: को स्थानीय और रिमोट db

GoogleIO शोकहारा सिंक्रनाइज़ करने के संदर्भ के लिए UUID। मैं एक PHP सर्वर कार्यान्वयन की तलाश में था जो HTTP अनुरोधों का प्रबंधन करेगा। आपके द्वारा वर्णित शेष दृष्टिकोण वास्तव में जिस तरह से जाना चाहता था वह था। लाइट ओवरहेड कुंजी है। – HGPB

+0

जब मैं सिंक्रनाइज़ करने के बारे में सोचता हूं तो मुझे लगता है कि प्रत्येक सिंक के दो तरीकों से डेटा प्रवाह होता है। मेरे ऐप को वास्तव में उस कार्यक्षमता की आवश्यकता नहीं होगी जैसा कि आप मेरे उदाहरण से देख सकते हैं। – HGPB

1

यदि आपको बैटरी निकालने की परवाह नहीं है, तो आवधिक बिडरेक्शनल सिंकिंग (डाउन और अपस्ट्रीम) करने के लिए SyncAdapter का उपयोग करें और उपयोगकर्ता की कार्रवाई के साथ संवाद करने के लिए केवल स्थानीय डीबी को संशोधित करें। इस तरह आपको केवल सर्वर की तरफ दो स्क्रिप्ट की आवश्यकता होती है, एक डाउनस्ट्रीम सिंकिंग के लिए और दूसरा अपस्ट्रीम सिंकिंग के लिए।

बेशक आपको

1) की आवश्यकता है। 3 झंडे, यानी गंदे डेटा को इंगित करने के लिए स्थानीय डीबी के लिए insert_state, update_state और delete_state।

2)। http://www.youtube.com/watch?v=xHXn3Kg2IQE

संबंधित मुद्दे