2010-02-14 6 views
5

मुझे अपने ब्लैकबेरी ऐप के लिए कुछ डेटा फाइलों को स्टोर करने की आवश्यकता है। ये आमतौर पर छोटी पीएनजी फाइलें होती हैं जिन्हें मैं प्रदर्शन कारणों से स्थानीय रूप से डाउनलोड और स्टोर करता हूं। इसके अलावा मुझे स्थानीय रूप से एक एक्सएमएल फ़ाइल स्टोर करने की आवश्यकता है।फाइल सिस्टम में जहां मैं ऐप की डेटा फाइलों को स्टोर करता हूं?

मेरा प्रश्न यह है कि इन फ़ाइलों को ब्लैकबेरी पर सहेजा जाना चाहिए? क्या ब्लैकबेरी फाइल सिस्टम में एप्लिकेशन के होम फोल्डर या सेटिंग्स फ़ोल्डर जैसी कोई चीज है?

ऐसे फ़ोल्डर का मार्ग क्या होगा?

यह ब्लैकबेरी ओएस 4.7 या बाद में है।

धन्यवाद!

उत्तर

2

यदि यह बड़ी मात्रा में डेटा नहीं है (और इसकी आवाज़ से, यह नहीं है), PersistentStore तंत्र पर एक नज़र डालें। आप PersistentContent का उपयोग कर देशी प्रकार (स्ट्रिंग, इंटेगर, इत्यादि) और यहां तक ​​कि बाइट [] डेटा (छवियों के लिए) सहित कई प्रकार के डेटा स्टोर कर सकते हैं। PersistentStore के बारे में अच्छी बात यह है कि इसे किसी भी प्रकार की फाइल सिस्टम एक्सेस की आवश्यकता नहीं होती है - यह फ़ाइलों को चारों ओर लटकती नहीं छोड़ती है - और यदि आप अपने ऐप के लिए लगातार स्टोर में कस्टम क्लास शामिल करते हैं (यहां तक ​​कि एक सरल सबक्लास भी मौजूदा पर्सिबल क्लास जैसे हैशटेबल), यदि ऐप हटा दिया गया है तो यह स्वचालित रूप से आपके बने डेटा को हटा देगा।

2

आपके आवेदन के लिए कोई आधिकारिक होम फोल्डर नहीं है। ब्लैकबेरी में आप मूल रूप से कुछ भी/कहीं भी पढ़ सकते हैं/लिख सकते हैं (ठीक है, यदि आप कुछ फ़ाइलों को बदलने का प्रयास करेंगे तो आपको SecurityException/IOException मिल सकता है)। आप here वर्णित पथों का उपयोग करके एसडीकार्ड/आंतरिक मेमोरी पर लिख सकते हैं। यदि आप अपने डेटा को देखने और बदलने के बारे में चिंतित हैं तो FileConnection.setHidden(true) का उपयोग करके छिपी हुई अपनी फ़ाइलों और निर्देशिकाओं को सेट करने के अलावा आप इतना कुछ नहीं कर सकते हैं, लेकिन यह बहुत लंगड़ा है क्योंकि उपयोगकर्ता को अभी भी मूल ब्लैकबेरी फ़ाइल ब्राउज़र से देखा जा सकता है यदि उपयोगकर्ता मेनू से छिपी हुई फाइलें दिखाना चुनता है।

संपादित करें: आप निश्चित रूप से अपने डेटा को एन्क्रिप्ट/डिक्रिप्ट कर सकते हैं लेकिन यह किसी को इसे हटाने से नहीं रोकेगा।

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