2012-07-14 14 views
8

मैं एक मोबाइल डिवाइस पर डेटाबेस अद्यतन करने पर काम कर रहा हूं जो SQLITE डीबी का उपयोग कर रहा है, जिसे सर्वर अद्यतन के रूप में अपडेट किया जाना चाहिए, यह डेटाबेस i.e wamp सर्वर है।
क्या कोई मुझे इस बारे में कोई विचार बता सकता है कि इसे कैसे प्राप्त किया जाए।
मैं पूरे सर्वर डेटाबेस को नहीं पढ़ना चाहता क्योंकि यह केवल एक ही अद्यतन के लिए या एकाधिक अपडेट के लिए पूरे डेटाबेस को पढ़ने के दौरान डेटा उपयोग में वृद्धि करेगा। अद्यतन उत्पाद तालिका में किया जाता है और केवल मूल्य फ़ील्ड सर्वर पक्ष द्वारा अद्यतन किया जाता है।सर्वर डेटाबेस अद्यतन होने पर sqlite डेटाबेस अद्यतन करें

+0

क्लाइंट और सर्वर के बीच डेटा सिंक करने के लिए RESTful API इसे प्राप्त करने का एक आम तरीका है। आप उसी अपडेट का अनुरोध करने वाले किसी अन्य उपयोगकर्ता के लिए अपने अपडेट कैश कर सकते हैं। वैसे भी डेटाबेस पढ़ने के साथ क्या गलत है? – biegleux

+0

डेटाबेस पढ़ना डेटा उपयोग करेगा यदि मैं एक फ़ील्ड के मान को पढ़ने में सक्षम हूं तो यह तुलनात्मक रूप से – Sumit

+0

बहुत कम डेटा उपयोग का उपयोग करेगा। मैं एक अलग तालिका बनाने के बारे में सोच रहा हूं जो अद्यतन विवरण बनाए रखेगा और उपयोगकर्ता केवल उनको पढ़ेगा अपने डेटाबेस को अपडेट करने के लिए विवरण .. आपको क्या लगता है कि यह एक अच्छा अभ्यास है? – Sumit

उत्तर

6

आप अपने ऐप में एक सेवा परिभाषित कर सकते हैं जो समय-समय पर पूछता है कि आपके सर्वर डीबी में अद्यतन डेटा है या नहीं। सर्वर की तरफ आप एक वेब-सेवा लागू कर सकते हैं जो एक जेसन ऑब्जेक्ट प्राप्त करेगा जिसमें आप वर्तमान दिनांक, टेबल नाम जिसे आप अपडेट के लिए जांचना चाहते हैं और अपने उद्देश्यों के आधार पर अन्य जानकारी डाल देंगे। मैं एक उदाहरण के साथ खुद को बेहतर समझाऊंगा: 1) जब ऐप पृष्ठभूमि सेवा शुरू करता है तो भी शुरू होगा। यह सेवा आपके वेब सेवा को निर्दिष्ट तालिका के लिए नए अपडेट देखने के लिए पूछेगी (उदाहरण के लिए हर 3 मिनट)। 2) webservice तालिका तालिका प्राप्त करेगी जिसे आप जांचना चाहते हैं और डेटाटाइम अधिमानतः यूनिक्स टाइमस्टैम्प में प्राप्त करेंगे। उदाहरण के लिए आप देखना चाहते हैं कि 2012-08-20 22:00:00 के बाद तालिका "उत्पादों" के लिए नए रिकॉर्ड हैं या नहीं। आप अपने ऐप के भीतर इस जानकारी के साथ एक जेसन ऑब्जेक्ट और एक http अनुरोध बना सकते हैं और उसे सर्वर की तरफ भेज सकते हैं। 3) आपकी वेब-सेवा आपको 2012-08-20 22:00:00 के बाद जोड़े या संशोधित किए जा रहे सभी डेटा के साथ एक जेसन सरणी देने का जवाब देगी। बेशक सर्वर डीबी में आपको इस जानकारी को स्टोर करना होगा (मूल रूप से प्रत्येक रिकॉर्ड में पहले प्रविष्टि/अंतिम संशोधन के डेटाटाइम के साथ एक फ़ील्ड होगा)
4) फिर आप अपने स्थानीय स्क्लाइट डेटाबेस को अपडेट कर सकते हैं।

शायद यह बहुत कुशल नहीं है लेकिन यह काम करता है।

एंड्रिया

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