पहले के रूप में OneDrive या ड्रॉपबॉक्स का उपयोग करना, यह किसी भी ofthesequestions का डुप्लिकेट है, जो एक बहु उपयोगकर्ता अनुप्रयोग के बैकएंड के रूप में एक ड्रॉपबॉक्स खाते का उपयोग कर चर्चाएक डेटाबेस
मैं के एक मुट्ठी भर का निर्माण किया है नहीं है ऐप, ज्यादातर विंडोज फोन और विंडोज स्टोर पर, और काम में बहुत कुछ है।
मैं अक्सर अपने आप को इन ऐप्स में डेटा सिंकिंग जोड़ना चाहता हूं, डिवाइसों के बीच, लेकिन उसी उपयोगकर्ता के लिए। मेरे ऐप्स अक्सर मुफ्त या बहुत सस्ते होते हैं, और मैं डेटाबेस होस्टिंग सर्वर के लिए पैसे कमाने का जोखिम नहीं उठा सकता। मेरे पास कुछ सीमित डीबी स्पेस के साथ एक भुगतान होस्टिंग खाता है जिसका उपयोग मैं कर सकता था, लेकिन (संभावना नहीं) घटना में कि मेरे ऐप्स में से एक भाग्यशाली सफलता बन जाती है, मैं अचानक एक बड़े होस्टिंग बिल से फंस गया हूं। उस स्थिति में मुझे अचानक उपयोगकर्ताओं को उन ऐप्स के लिए आवर्ती राशि चार्ज करना शुरू करना होगा जो पहले से मुक्त थे, या बदतर, पहले ही भुगतान कर चुके थे।
मैं डेटाबेस के रूप में OneDrive, या Dropbox, या कुछ अन्य मुफ्त क्लाउड होस्टिंग का उपयोग करने के इस विचार पर वापस आ रहा हूं। यहां बताया गया है कि मैं इसे कैसे देख रहा हूं।
चलें कहते हैं कि हम कहा जाता Jobbie
- उपयोगकर्ता दोनों उपकरणों पर दोनों उपकरणों OneDrive में
- उपयोगकर्ता लॉग पर Jobbie स्थापित करता है एक कार्यसूची एप्लिकेशन है, उनके OneDrive फ़ोल्डर में एक "jobbie" सिंक फ़ोल्डर बनाने
- डिवाइस ए पर, उपयोगकर्ता एक नया todo आइटम बनाता है "सूखी सफाई उठाएं"
- डिवाइस ए "20153001-pick_up_dry_cleaning.item" नाम के साथ OneDrive पर एक टेक्स्ट फ़ाइल अपलोड करता है।
- डिवाइस बी फ़ोल्डर को स्कैन करता है, एक नई फ़ाइल पाता है, और स्थानीय डेटाबेस
- में जोड़ देता है डिवाइस बी पर, उपयोगकर्ता के निशान "ड्राई क्लीनिंग लेने" "हो गया" के रूप में है, और फ़ाइल "x20153001-pick_up_dry_cleaning नाम दिया है .item "(या हटाए गए)
- डिवाइस ए, फ़ोल्डर को स्कैन करता है देखता आइटम नाम दिया गया है (या हटाए गए) और स्थानीय डेटाबेस से निकाल
स्पष्ट समस्याओं मैं इस दृष्टिकोण के साथ देखते हैं
हैं- आइटम 2 तक सीमित हैं 55 - 9 वर्ण (9 xYYYYMMDD के लिए आरक्षित), जब तक आप प्रत्येक फ़ाइल जो काफी धीमी गति से किया जाएगा डाउनलोड करना चाहते
- कोई ताला लगा
इन दो मुद्दों के अलावा, किसी भी अन्य समस्याओं कार्यान्वयन के लिए मैं सामना करना पड़ सकता देखते हैं ऐसी प्रणाली?
पुनश्च: मैं भी स्थानीय प्रति के साथ एक संग्रहीत SQLite फ़ाइल को अधिलेखित करने पर विचार किया है, लेकिन मैं समझ यह एक मोबाइल डिवाइस के लिए बहुत अधिक डेटा भूमि के ऊपर होगा
अद्यतन
मैं नीचे पीटर Nied का जवाब स्वीकार कर लिया है , जिसने मुझे इस तरह के एक सिस्टम के साथ सामना करने वाले मुद्दों को इंगित किया, जिसने मेरे प्रश्न का उत्तर दिया। हालांकि, स्मारक्स ने टिप्पणियों में बताया कि ड्रॉपबॉक्स में एक मुफ्त डेटास्टोर एपीआई है जिसे मैं अपने ऐप्स के लिए उपयोग कर सकता हूं। यह फ़ाइल सिस्टम के शीर्ष पर अपने स्वयं के डेटास्टोर को लागू करने की कोशिश करने से कहीं बेहतर समाधान की तरह लगता है, इसलिए मैं इसके साथ जा रहा हूं।के बाद मैं पोस्ट को अद्यतन किया है, इसलिए इसकी अब उपलब्ध नहीं
अद्यतन 2
डेटास्टोर एपीआई सिर्फ 3 महीने पदावनत किया गया था। सौभाग्य से मैंने उस समय इसके खिलाफ विकास शुरू नहीं किया था। आप ड्रॉपबॉक्स को मानक फ्लैट-फ़ाइल स्टोरेज के रूप में बहुत आसानी से उपयोग कर सकते हैं, लेकिन यदि आप किसी भी प्रकार की सिंक करना चाहते हैं तो आपको अपना खुद का
वास्तव में अब मैं इसके बारे में सोचता हूं, यदि आप 2 अंकों के वर्ष प्रारूप का उपयोग करते हैं तो आप 7 वर्णों से दूर हो सकते हैं। यह कम से कम अगले 100 वर्षों के लिए काम करेगा। – roryok
मुझे लगता है कि आपने ड्रॉपबॉक्स के डेटास्टोर एपीआई के बारे में नहीं सुना है। :-) https://www.dropbox.com/developers/datastore विशेष रूप से, सूची नमूना ऐप पर एक नज़र डालें: https://www.dropbox.com/developers/blog/108/new-lists- नमूना- एप्लिकेशन। – smarx
यदि आप फ़ाइलों के माध्यम से सिंक करना चाहते हैं, तो मैं इसमें केवल सभी फाइलों के साथ एक ही फाइल का सुझाव दूंगा। (व्यक्तिगत रूप से, मैं JSON का उपयोग करता हूं।) इस तरह की चीज़ के साथ एकमात्र मुश्किल हिस्सा ऑफलाइन उपकरणों द्वारा बनाए गए संघर्षों से निपट रहा है। सबसे आसान संघर्ष संकल्प सिर्फ एक विजेता चुनना होगा (उदाहरण के लिए पहला लेखक जीतता है)। वास्तव में सूचियों को मर्ज करने के लिए एक बेहतर संघर्ष समाधान रणनीति होगी। – smarx