2015-02-17 6 views
12

मैंने एक एंड्रॉइड ऐप विकसित किया जहां मैंने SQLiteOpenHelper का उपयोग कर SQLite डेटाबेस में डेटा सहेजा।मौजूदा डेटाबेस-सामग्री पर सक्रिय एंड्रॉइड का उपयोग करें

मुझे आश्चर्य है कि क्या मैं ActiveAndroid का उपयोग करके अपना ऐप अपडेट कर सकता हूं, लेकिन इस तरह से डेटाबेस में पहले संग्रहीत उपयोगकर्ता डेटा संरक्षित किया जाएगा।

क्या यह संभव है?

+0

क्या आपको कोई समाधान मिला है? – surfer190

+0

दुर्भाग्य से नहीं, नहीं; मैं उस लंबे समय तक खोज नहीं कर रहा हूं, हालांकि, आशा है कि अभी भी उम्मीद हो सकती है :) – deimos1988

+1

आप हमेशा अपने पुराने डेटाबेस पर सामग्री को सक्रिय एंड्रॉइड का उपयोग करने वाले नए व्यक्ति पर माइग्रेट कर सकते हैं, जिसके बाद आप पुराने को हटा सकते हैं। –

उत्तर

6

उपयोगकर्ता को ऐप के नवीनतम संस्करण में अपग्रेड करने के बाद रनटाइम के दौरान डेटा माइग्रेशन करना होगा। प्रक्रिया को निम्न चरणों में विभाजित किया जा सकता है, मैंने प्रत्येक चरण में डेटाबेस संस्करण मान भी असाइन किए हैं।

  1. उपयोगकर्ता के पास उनके सभी डेटा SQLite डेटाबेस में संग्रहीत हैं और अभी तक उनके ऐप को अपग्रेड नहीं किया है। [डीबी = SQLite v1]

  2. उन्नयन पर, जब उपयोगकर्ता एप्लिकेशन के अगले संस्करण में अपग्रेड हो रहा है वर्ष SQLite डेटाबेस से सभी डेटा पढ़ सकते हैं और यह ActiveAndroid डेटाबेस में संग्रहीत करते हैं। [डीबी = SQLite v1 और ActiveAndroid v1]

  3. एक बार सभी डेटा नए ActiveAndroid डेटाबेस में माइग्रेट हो जाने के बाद SQLite डेटाबेस की सभी तालिकाएं हटा दें ताकि आप अतिरिक्त संग्रहण स्थान का उपयोग न करें जिसकी आपको आवश्यकता नहीं है । [डीबी = SQLite v2 और ActiveAndroid v1]

  4. अगली रिलीज में आप मान सकते हैं कि उपयोगकर्ता का डेटा पूरी तरह से माइग्रेट हो गया है और इस बिंदु पर यह SQL कोड डेटाबेस का संदर्भ देने वाले सभी कोड को निकालने में अंततः सुरक्षित है। [डीबी = एक्टिव एंड्रॉइड v2]

+1

ऐप के अगले संस्करण में डेटाबेस को अपग्रेड करने के लिए सिंगलटन क्लास बनाएं ताकि कॉपी किए गए डेटाबेस में केवल एक उदाहरण होगा। यह आसानी से अपडेट हो जाएगा। – hitesh141

+0

डी, यह मुझे समझ में आता है ... क्या आपको लगता है कि यह आपके प्रश्न का उत्तर देता है? – CLaFarge

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