क्रिस्टियन here कहता है: जब उपयोगकर्ता अपडेट अपडेट करते हैं तो आपका एप्लिकेशन डेटा तब रहेगा।
लेकिन यह पिछले ऐप के अपडेट के रूप में पता लगाने के लिए package name
के साथ होना चाहिए।
Warning Android user that app update could lead to losing data from old app version? में
EboMike का कहना है:
काफी स्पष्ट रूप से, एक उन्नत की वजह से डेटा को खोने अस्वीकार्य है।
संपादित:
आम तौर पर, SharedPreferences (और साथ ही अन्य उपयोगकर्ता डेटा) कुछ "अज्ञात" समस्या के कारण अद्यतन प्रक्रिया के दौरान रखा जाएगा, लेकिन कभी कभी, डेटा खो सकता है, और मुझे लगता है कि यह आपके नियंत्रण से बाहर है। इसलिए, आप बस विश्वास कर सकते हैं कि साझा किए गए संदर्भ रखे जाएंगे (see here)।
तो, यदि आप प्रगति को अपग्रेड करने में उपयोगकर्ता के डेटा को साफ़ करने से बचना चाहते हैं, तो आपको बाहरी डेटा को मुख्य भंडारण में सहेजना होगा (यह एक हटाने योग्य स्टोरेज मीडिया हो सकता है, जैसे कि एसडी कार्ड या आंतरिक, गैर-हटाने योग्य, भंडारण ।) और आपके ऐप के लिए निजी नहीं है। या कम से कम उपयोगकर्ता को अपग्रेड करने से पहले बैकअप डेटा के लिए हटा दें। फिर अपने (अपग्रेड किए गए) ऐप के पहले भाग में, जांचें कि बाहरी स्टोरेज में कोई बैकअप फ़ाइल है या नहीं।
यदि आप जानना चाहते हैं तो ऐप को अपग्रेड करने के लिए क्या चीजें हो सकती हैं/हो सकती हैं?, इस के लिए मेरे पास कोई अच्छा विवरण नहीं था।यह Android Security
, Application signing
, copy protection
और अन्य विषयों के साथ जटिल और सापेक्ष है। मेरा मतलब है कि यदि आप किसी भी उपरोक्त क्षेत्रों में अपनी ऐप की स्थिति बदलते हैं, तो यह अलग-अलग परिणाम का कारण बनता है।
उदाहरण के लिए यदि आप CHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON
, तो आपकी ऐप अपडेट हो जाएगी, लेकिन आपकी सभी साझा प्राथमिकताओं को खोने के कारण, फाइल एक्सेस असंभव हो सकती है और ...।
हालांकि आपको पिछले ऐप के अपडेट के रूप में अपनी नई ऐप being considered
का कारण बनने की स्थिति में देखभाल करना है (Things That Cannot Change देखें)।
इसके अलावा आपको अपने कोड के बारे में भी ध्यान रखना होगा, यह आपके डेटाबेस के डेटा को हटाने के कारण हो सकता है (update app with preloaded SQLite देखें)।
लेकिन अंतत, अगर सावधान रहना होगा, आप कह सकते हैं:
अद्यतन प्रक्रिया केवल apk फ़ाइल को बदल देता है (और इसलिए क्या उदाहरण ड्रॉएबल के लिए उस में है, ...) और नहीं है डेटाबेस को बदलें, साझा किए गए संदर्भ और रन टाइम में उत्पन्न होने वाली कोई अन्य फ़ाइलें (शायद इस मामले में, नई ऐप यूआईडी के साथ स्थापित है जो पिछली ऐप के यूआईडी के बराबर है)।
आप अधिक जानकारी के लिए इन पृष्ठों देख सकते हैं:
Help!? Updating our applicatoin on the market deletes the saved SharedPreferences.
Market copy protection totally breaks file access after updating
Can someone explain the App update process?
धन्यवाद, ऐसा लगता है कि साझा किए गए संदर्भों को ठीक रखा जाना चाहिए। लेकिन क्या इस प्रक्रिया का कोई आधिकारिक विवरण नहीं है? –
@ वाइपरबोन जो प्रक्रिया करता है? साझािकरणों को जोड़ना? या ऐप को अपग्रेड करना? – hasanghaforian
ऐप्स प्रक्रिया को अपग्रेड करना। ऐप को अपग्रेड करने के लिए क्या चीजें हो सकती हैं/हो सकती हैं। –