2010-11-11 16 views
6

मैंने एक ऐसा एप्लिकेशन प्रकाशित किया जो स्थानीय डेटाबेस में डेटा संग्रहीत करता है।स्थानीय डेटाबेस और स्थानीय फ़ाइलों को हटाए बिना एंड्रॉइड-मार्केट पर एप्लिकेशन अपडेट कैसे प्रकाशित करें?

अब मुझे कुछ छोटी बग ठीक करने के लिए इस एप्लिकेशन में एक अपडेट प्रकाशित करना है, लेकिन मुझे डर है कि अद्यतन डाउनलोड करने और इंस्टॉल करने से पिछले संस्करण से जुड़े स्थानीय डेटाबेस को विलुप्त कर दिया जाएगा।

मैं जानना चाहता हूं कि अद्यतन प्रणाली कैसे काम करती है। क्या एक अद्यतन स्थापित करना सभी एपीके, फाइलों, डेटाबेस को पिछले संस्करण के साथ associeted हटा देगा?

यदि हां, तो मैं अपने कोड में इससे कैसे बच सकता हूं?

आपकी मदद के लिए बहुत बहुत धन्यवाद !!

उत्तर

5

अद्यतन स्थापित करने से पिछले संस्करण के साथ सभी एपीके, फाइलें, डेटाबेस पूरी तरह से हटा दिए जाएंगे?

नहीं, ऐसा नहीं है। यदि उपयोगकर्ता एप्लिकेशन को अनइंस्टॉल करता है, तो उन फ़ाइलों को हटा दिया जाएगा, लेकिन एक अपडेट उन फ़ाइलों को जगह में छोड़ देता है।

+0

आपको निम्न थ्रेड उपयोगी भी मिल सकता है: http://stackoverflow.com/questions/4143926/questions-about-android-application-update – Samuh

+0

यदि मैं तालिका में नया स्तंभ जोड़कर तालिका संरचना बदलता हूं, अद्यतन निर्माण। क्या यह नया कॉलम तालिका में मौजूद मौजूदा डेटा को प्रभावित किए बिना निर्दिष्ट तालिका में जोड़ा जाएगा। –

+0

@ एन-जॉय: यदि आप इसे स्वयं संभालते हैं (उदाहरण के लिए, अपने 'SQLiteOpenHelper' में' ऑन अपग्रेड() 'के माध्यम से), हाँ। साथ ही, कृपया इस तरह की टिप्पणियों को असंबंधित प्रश्नों पर पोस्ट न करें, और निश्चित रूप से एक ही टिप्पणी के साथ कई प्रश्नों पर ऐसा कई बार नहीं करें। आप पृष्ठ के ऊपरी-दाएं कोने में "प्रश्न पूछें" बटन पर क्लिक करने में पूरी तरह से सक्षम हैं। – CommonsWare

0

आपका डेटाबेस डेटा अपडेट के साथ हटाया नहीं जाएगा, जब तक कि आप इसे कोड में स्पष्ट रूप से हटा नहीं देते। यदि आप अपना डेटाबेस संस्करण बढ़ाते हैं, तो आपकी onUpgrade विधि कॉल की जाएगी और वे बदलाव हैं जो इस नए संस्करण के लिए किए जाएंगे।

+2

ध्यान दें कि यदि आप इसका उपयोग कर रहे हैं, तो 'ऑन अपग्रेड()' विधि binnyb का अर्थ आपके 'SQLiteOpenHelper' में है। – CommonsWare

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