2011-09-09 16 views
6

मेरे आवेदन के भीतर डाउनलोड की गई सामग्री को स्टोर करने के संबंध में कई अलग-अलग, लेकिन संबंधित प्रश्न हैं।एंड्रॉइड - डाउनलोड की गई सामग्री को स्टोर करने के लिए, आंतरिक बनाम बाहरी भंडारण?

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

यदि एसडीकार्ड पर एप्लिकेशन इंस्टॉल किया गया है (जैसा कि मेरा कॉन्फ़िगर किया गया है) तो एसडीकार्ड पर भी "आंतरिक" भंडारण शारीरिक रूप से है? इस प्रकार यदि मेरे एसडीकार्ड ने एप्लिकेशन डाउनलोड इंस्टॉल किया है, तो कहें, आंतरिक स्टोरेज में 100 एमबी सामग्री है, तो क्या यह वास्तव में एसडीकार्ड पर समाप्त हो रहा है, या यह डिवाइस के भौतिक ऑन-बोर्ड स्टोरेज में समाप्त हो रहा है?

यदि एप्लिकेशन एसडीकार्ड पर स्थापित है, और डाउनलोड की गई सामग्री के साथ "आंतरिक" भंडारण एसडीकार्ड पर है तो क्या यह भौतिक रूप से खुले प्रारूप में संग्रहीत है या क्या यह एन्क्रिप्ट किया गया है? मुझे लगता है कि एक एसडीकार्ड पर संग्रहीत एक एप्लिकेशन एन्क्रिप्ट किया गया है। क्या यह "आंतरिक" भंडारण पर भी लागू होता है?

(Context.getDir() के रूप में एक ही निर्देशिका में फ़ाइलों को संग्रहीत करने के बारे में नष्ट कर दिया गया प्रश्न मतलब है कि एक निर्देशिका प्रणाली बनाया जा सकता है और इससे आंतरिक मेमोरी में बनाए रखा)

वहाँ एक बेहतर दृष्टिकोण है?

उत्तर

4

प्रयोग का एक गुच्छा था और एक मोटोरोला Droid 2 पर Android 2.2 के साथ निम्नलिखित निष्कर्ष के लिए आया था:

  • किसी एप्लिकेशन को इंस्टॉल कर रहा है/sdcard फिर इसे में एक .asec फ़ाइल के रूप में संग्रहीत किया जाता है के लिए ले जाया एसडीकार्ड पर छुपा/.android_secure निर्देशिका। यह एक एन्क्रिप्टेड और संपीड़ित फ़ाइल है।
  • जब एप्लिकेशन "आंतरिक भंडारण" में डेटा फ़ाइलों को बनाता है तो वे डिवाइस की आंतरिक मेमोरी, एसडीकार्ड पर संग्रहीत किए जाते हैं।
  • एप्लिकेशन के लिए एप्लिकेशन/प्रबंधित अनुप्रयोग विवरण संवाद में डेटा "डेटा" का मान है - यह उस डेटा की मात्रा है जो एप्लिकेशन अपने आंतरिक स्टोरेज में उपयोग कर रहा है, जो एसडीकार्ड
  • पर आंतरिक मेमोरी में नहीं है बाह्य भंडारण एसडीएसीआरडी पर एंड्रॉइड/डेटा निर्देशिका
  • सेटिंग्स से डेटा साफ़ करना/अनुप्रयोग विवरण प्रबंधित करें संवाद वास्तव में सबकुछ मिटा देता है, जिसका अर्थ है कि इंस्टॉल किए गए एप्लिकेशन को पर्याप्त ज्ञान/तर्क रखने की आवश्यकता है "कोई डेटा" स्थिति नहीं है।

मेरा ऐप एक डाउनलोड सामग्री ऐप है। कि यह सब क्या मेरे लिए मतलब है:

  • वहाँ यह देखते हुए कि भंडारण यह फोन पर की खपत होगी के थोक उपकरण के आंतरिक स्मृति में होगा sdcard पर मेरे छोटे एप्लिकेशन भंडारण में थोड़ा वास्तविक मूल्य है। पाठ्यक्रम के अलावा कि एसडीकार्ड पर एप्लिकेशन को इंस्टॉल करने की अनुमति देना हमेशा अच्छा होता है।
  • स्थापना पैकेज को उपयोगकर्ता द्वारा डाउनलोड की गई सामग्री को पुनर्प्राप्त करने में सक्षम होना चाहिए यदि यह उपयोगकर्ता द्वारा मिटा दिया गया है।
  • आंतरिक मेमोरी में unique installation id को संग्रहीत करने की अवधारणा तब तक अच्छी तरह से काम करती है जब तक कोई उपयोगकर्ता एप्लिकेशन के डेटा को हटा देता है और इसलिए एक नई स्थापना आईडी की गणना की जाती है।इस प्रकार किसी डिवाइस पर कौन सी सामग्री डाउनलोड की गई है, उसे याद रखने में सक्षम होने के लिए केंद्रीय सर्वर पर उपयोगकर्ता खाता की आवश्यकता होती है जिसे उपयोगकर्ता स्क्रैच से शुरू होने पर लॉग/लॉग इन करता है।