मैंने ऐप्पल के डेटा स्टोरेज दिशानिर्देश पढ़े हैं और वास्तव में उलझन में हूं कि मुझे अपने ऐप में स्क्लाइट डेटाबेस फ़ाइलों को कहां रखना चाहिए। मैं sqlite फ़ाइलों से भी पढ़ना चाहता हूं, भले ही ऐप ऑफलाइन मोड में हो। मैंने पढ़ा है कि बनाई गई ऐसी फाइलें लाइब्रेरी/कैश में "बैकअप नहीं" ध्वज सेट के साथ रखी जानी चाहिए। कृपया मुझे ऐसा करने के लिए सही दृष्टिकोण का सुझाव दें।क्या मुझे दस्तावेज़ निर्देशिका या लाइब्रेरी/कैश में स्क्लाइट डेटाबेस फ़ाइल लिखनी चाहिए?
उत्तर
जवाब कैसे अपने डेटाबेस फ़ाइलों बनाई गई हैं पर निर्भर करता है:
According to the Data Storage Guidelines page:
केवल दस्तावेजों और अन्य डेटा उपयोगकर्ता द्वारा बनाई गई है कि, या जिसे आपके आवेदन द्वारा निर्मित नहीं किया जा सकता , /दस्तावेज़ निर्देशिका में संग्रहीत किया जाना चाहिए और iCloud द्वारा समर्थित स्वचालित रूप से होगा।
डेटा जिसे फिर से डाउनलोड किया जा सकता है या पुन: उत्पन्न किया जा सकता है/लाइब्रेरी/कैश निर्देशिका में संग्रहीत किया जाना चाहिए। फाइलों के उदाहरण आपको कैश निर्देशिका में डालना चाहिए डेटाबेस कैश फाइल और डाउनलोड करने योग्य सामग्री, जैसे कि पत्रिका, समाचार पत्र, और मानचित्र अनुप्रयोगों द्वारा उपयोग की जाने वाली सामग्री शामिल होनी चाहिए।
यह मेरे लिए अपेक्षाकृत स्पष्ट लगता है: आपके एप्लिकेशन प्रोग्राम के कुछ बनाता है या डेटा आप को बचाया चाहते हैं कि जेनरेट करती है, यह "कैश" फ़ोल्डर में डाल दिया। यदि यह कुछ अद्वितीय है कि ग्राहक स्वयं उत्पन्न होता है (कीबोर्ड में टाइप करके या मैन्युअल रूप से हस्तक्षेप और कुछ किया जाता है), इसे "दस्तावेज़" में डाल दें।
"बैक अप न करें" का अर्थ है कि फ़ाइलें iCloud पर भेजी जाती हैं और यदि वे खो जाती हैं, तो उन्हें स्क्रैच (या पुनः इंस्टॉल) से फिर से बनाया जाना होगा।
यह आपकी मदद कर सकता है। दस्तावेज़ निर्देशिका में डेटाबेस की प्रतिलिपि पर्याप्त होगी, बंडल पर फ़ाइलें केवल पढ़ी जाती हैं, कुछ स्थितियों में यदि आपको किसी भी समय अपडेट करने की आवश्यकता है तो बेहतर तरीके से डेटाबेस को कॉपी करना है यदि यह दस्तावेज़ निर्देशिका पर मौजूद नहीं है।
दस्तावेजों निर्देशिका है करने के लिए डेटाबेस कॉपी करने के लिए नमूना कोड इस प्रकार है:
-(void) checkAndCreateDatabase {
// Setup some globals
NSString *databaseName = @"AnimalDatabase.sql";
// Get the path to the documents directory and append the databaseName
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName];
// Check if the SQL database has already been saved to the users phone, if not then copy it over
BOOL success;
// Create a FileManager object, we will use this to check the status
// of the database and to copy it over if required
NSFileManager *fileManager = [NSFileManager defaultManager];
// Check if the database has already been created in the users filesystem
success = [fileManager fileExistsAtPath:databasePath];
// If the database already exists then return without doing anything
if(success) return;
// If not then proceed to copy the database from the application to the users filesystem
// Get the path to the database in the application package
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:databaseName];
// Copy the database from the package to the users filesystem
[fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];
[fileManager release];
}
आप इस Tutorial फ़ाइलों उल्लेख कर सकते हैं, दस्तावेजों पर सामग्री निर्देशिका पढ़ा जाता है,, मोड लिखना ताकि आप सामग्री पढ़ सकते हैं डेटाबेस से
- 1. मुझे एक अस्थायी फ़ाइल कहां लिखनी चाहिए?
- 2. क्या मुझे टेक्स्ट फ़ाइल या डेटाबेस का उपयोग करना चाहिए?
- 3. क्या रिमोट स्क्लाइट डेटाबेस
- 4. क्या मुझे दस्तावेज़-आधारित या ग्राफ डेटाबेस के लिए जाना चाहिए? (MongoDB बनाम Neo4j)
- 5. स्क्लाइट अस्थायी स्टोर निर्देशिका
- 6. स्क्लाइट डेटाबेस
- 7. स्क्लाइट डेटाबेस
- 8. एक स्क्लाइट डेटाबेस
- 9. शेयरपॉइंट: क्या मुझे सूचियों या डेटाबेस का उपयोग करना चाहिए?
- 10. क्या मुझे जेपीए या डेटाबेस कैस्केड हटाने को देना चाहिए?
- 11. क्या कोई nosql फ्लैट फ़ाइल डेटाबेस है जैसे स्क्लाइट?
- 12. PHP/MySQL में क्या मुझे एकाधिक डेटाबेस कनेक्शन खोलना चाहिए या 1 साझा करना चाहिए?
- 13. एंड्रॉइड स्क्लाइट डेटाबेस
- 14. दस्तावेज़ निर्देशिका
- 15. क्या मुझे अपने पैथ में .NET फ्रेमवर्क निर्देशिका जोड़नी चाहिए?
- 16. क्या मुझे अपना SQL डेटाबेस लगातार खोलना चाहिए() और बंद करना चाहिए या इसे खोलना चाहिए?
- 17. स्क्लाइट डेटाबेस ऑनअपग्रेड() को
- 18. क्या मुझे डेटाबेस सत्र या मूल PHP फ़ाइल सत्र का उपयोग करना चाहिए?
- 19. क्या मुझे सी # या जावा सीखना चाहिए?
- 20. स्क्लाइट डेटाबेस सुरक्षा
- 21. ऑन अपग्रेड() एंड्रॉइड में स्क्लाइट डेटाबेस
- 22. एंड्रॉइड स्क्लाइट डेटाबेस स्कीमा
- 23. क्या मुझे अपने डेटाबेस में एक स्थानिक इंडेक्स चाहिए?
- 24. एएसपी.नेट एमवीसी में दृश्य फ़ाइल/निर्देशिका संरचना क्या होनी चाहिए?
- 25. स्क्लाइट एंड्रॉइड डेटाबेस
- 26. क्या मुझे ओआरएम चाहिए?
- 27. xcode फ़ाइल या निर्देशिका
- 28. क्या मुझे अपने डेटाबेस में ओपनआईडी को एन्क्रिप्ट करना चाहिए?
- 29. प्लिस्ट या स्क्लाइट
- 30. क्या आपको इंटरफेस, कंक्रीट कार्यान्वयन या दोनों के लिए एक्सएमएल टिप्पणियां लिखनी चाहिए?
मैंने एक ऐप पूरी तरह स्थैतिक विकसित किया है। मैं 4 एमबी आकार से अधिक डेटा भंडारित कर रहा हूं। इस सामग्री के साथ ऐप काम नहीं करेगा। मेरे मामले में मुझे स्थानीय डेटाबेस (दस्तावेज़ फ़ोल्डर या लाइब्रेरी फ़ोल्डर) को सहेजना चाहिए – Warrior
[ठीक है, मैंने देखा है कि आप इसे पहले से ही एक अलग प्रश्न के रूप में पूछ चुके हैं] (http://stackoverflow.com/questions/16767861/where-to- save-the-local-db-created-for-iphone-app), तो या तो मैं (या कोई और) आपके लिए जवाब देखेगा –
नए एक्सटेंशन और घड़ी के बारे में क्या? –