2010-10-26 11 views
5

तो, मुझे एक विशिष्ट एसडीके में एक बग मिला है जो एसडीके का उपयोग करने वाले ऐप के नए संस्करण को दोबारा स्थापित करने के बाद कुछ एंड्रॉइड फोन पर असफल होने का कारण बनता है (adb install -r के माध्यम से, और संभवतः जब उपयोगकर्ता को अद्यतन जो एंड्रॉइड बाजार में धकेल दिया गया है)। ऐप के अपडेट पर स्वचालित रूप से साफ़ होने के लिए किसी एप्लिकेशन के डेटा को मजबूर करने का कोई तरीका है? मुझे एहसास है कि डेटा अलग-अलग तरीकों से संग्रहीत किया जा सकता है, लेकिन मुझे केवल "साफ़ डेटा" बटन का आविष्कार अनुकरण करने की आवश्यकता है जो आपको सेटिंग के "एप्लिकेशन प्रबंधित करें" अनुभाग में एप्लिकेशन पर ब्राउज़ करते समय मिलेगा (यानी मैं सिर्फ सभी डेटा चले जाना चाहता हूँ)।अपग्रेड/अपडेट पर मैं एंड्रॉइड एप्लिकेशन डेटा को आसानी से कैसे हटा सकता हूं?

मैं एक एंड्रॉइड नोब हूं और इस परियोजना पर न्यूनतम जावा कोडिंग कर रहा हूं, इसलिए मैं मूल रूप से यहां सबसे सरल समाधान की तलाश में हूं। मुझे लगता है कि मैं डिस्क पर "currentVersion" संग्रहीत करने के लिए व्यवस्थित कर सकता हूं और फिर यह देखने के लिए हर बार लॉन्च पर जांच कर सकता हूं कि वास्तविक वर्तमान संस्करण पिछले लॉन्च पर डिस्क पर लिखे गए संस्करण से मेल खाता है या नहीं। क्या यह ऐसा करने का एकमात्र असली तरीका है? यदि हां, तो ऐसा करने का सबसे आसान तरीका क्या है?

धन्यवाद!

उत्तर

2

क्या एप्लिकेशन के डेटा को स्वचालित रूप से ऐप के अपडेट पर साफ़ करने के लिए मजबूर करने का कोई तरीका है?

नहीं, कम से कम "स्वचालित" की मेरी परिभाषा के लिए।

मैं मैं डिस्क के लिए एक "CurrentVersion" भंडारण और फिर लॉंन्च यह जाँच हर बार वास्तविक वर्तमान संस्करण संस्करण है कि पिछले प्रक्षेपण पर डिस्क के लिए लिखा गया था मेल खाता है तो देखने के लिए तय कर सकता है लगता है। क्या यह ऐसा करने का एकमात्र असली तरीका है?

मैं इसे lastKnownVersion नाम दूंगा, लेकिन अन्यथा यह दृष्टिकोण ध्वनि लगता है और शायद आपका एकमात्र व्यवहार्य विकल्प है।

यदि हां, तो ऐसा करने का सबसे आसान तरीका क्या है?

उम्म्म ... ठीक वही किया जो आपने कहा था। जावा I/O का उपयोग करें (getFilesDir() के अंदर फ़ाइल को संग्रहीत करना), या SharedPreferences

ध्यान रखें, हालांकि, यदि आप ऐप अपडेट पर अपना डेटा निकाल देते हैं तो आपके उपयोगकर्ता निराश हो सकते हैं। निजी तौर पर, मुझे आपकी मूल समस्या का बेहतर समाधान मिल जाएगा ("मुझे एक विशिष्ट एसडीके में एक बग मिला है जो एसडीके का उपयोग करने वाले ऐप के एक नए संस्करण को दोबारा स्थापित करने के बाद कुछ एंड्रॉइड फोन पर असफल होने का कारण बनता है")।

+0

मैं सहमत हूं। लेकिन यह केवल मेरे ऐप के मुफ्त संस्करण में होगा, क्योंकि जिस एसडीके का मैं जिक्र कर रहा हूं वह वास्तव में विज्ञापनों का प्रदाता है। इस प्रकार, मैं वास्तव में ऐप को केवल इतना ही नहीं दे सकता हूं और उन्हें सही ढंग से विज्ञापन नहीं देख पा रहा हूं, इसलिए मेरा एकमात्र अन्य विकल्प उन्हें अनइंस्टॉल करने और ऐप को पुनर्स्थापित करने के लिए मजबूर करना होगा, जो एक भयानक विचार की तरह लगता है। – rrbrambley

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