2014-04-16 13 views
21

मैं बस सोच रहा था कि आप विंडोज फोन 8.1 एसडीके में पृथक स्टोरेज सेटिंग के साथ कैसे निपटते हैं। उदाहरण के लिए:विंडोज फोन 8.1 - पृथक भंडारण

IsolatedStorageSettings.ApplicationSettings.Contains("LocationConsent") 

यह 8.1 में कैसे काम करता है? जैसा कि, मैं संदर्भ त्रुटियों के बिना इस कथन को कैसे लिखूं। मुझे लगता है कि इसे बहिष्कृत किया गया है या कुछ ऐसा इसलिए है क्योंकि यह किसी ज्ञात नेमस्पेस या किसी भी चीज़ का समाधान नहीं करता है।

मैं अपने वर्तमान प्रोजेक्ट के लिए मानचित्र के साथ काम कर रहा हूं और इसे 8.1 पर पोर्ट कर रहा हूं, मुझे कुछ वाक्यविन्यास परेशानी मिलती है। मैंने इसे देखने की कोशिश की है, लेकिन मुझे लगता है कि यह प्रलेखन के लिए बहुत जल्द है, मुझे लगता है क्योंकि एमएसडीएन इसके बारे में कुछ भी नहीं कहता है, जब तक कि मैं इसे दुर्घटना से चूक नहीं जाता। किसी भी मदद की सराहना की है।

+0

आप उन्हें यह बताने के लिए और क्या कह रहे हैं कि यह विधि एक बुलियन लौटाती है? http://msdn.microsoft.com/en-us/library/cc614991(v=vs.95).aspx – Aybe

+1

मैं सोच रहा हूं कि त्रुटियों के बिना नए एसडीके में उसी कथन का उपयोग कैसे करें। वर्तमान वाला किसी नामस्थान को हल नहीं करता है, इसलिए इसे बहिष्कृत किया जाना चाहिए या कुछ ऐसा होना चाहिए, जैसे कि उन्होंने इसे बदल दिया है। – Failsafe

+0

मैंने अभी कोशिश की है और यह ठीक काम करता है। यह System.IO.IsolatedStorage नामस्थान में है। – Aybe

उत्तर

45

विंडोज़ में स्टोर्स का उपयोग करें। स्टोरेज नेमस्पेस। वे यूनिवर्सल एप्स के लिए नए हैं। यदि आप चाहते हैं कि डेटा हमेशा स्थानीय रहें Windows.Storage.ApplicationData.Current.LocalSettings। हालांकि, अगर आपको रोमिंग सेटिंग्स में संग्रहीत नहीं किया जाता है (यदि आप यूनिवर्सल ऐप करते हैं तो वे विंडोज 8.1 में आपके ऐप के लिए उपलब्ध होंगे) आप Windows.Storage.ApplicationData.Current.RoamingSettings का उपयोग कर सकते हैं।

var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; 
if(localSettings.Values.ContainsKey("LocationConsent")) 
    DoSomething(localSettings.Values["LocationConsent"]) 

या

var roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings; 
if(roamingSettings.Values.ContainsKey("LocationConsent")) 
    DoSomething(roamingSettings.Values["LocationConsent"]) 

यह आपकी समस्या का समाधान करना चाहिए। मैंने इसे अपने सिर के शीर्ष से लिखा, उम्मीद है कि यह आपके लिए काम करेगा।

+0

इसलिए भंडारण में डेटा को सहेजने की कोई आवश्यकता नहीं है? जैसे कि मैंने विंडोज ऐप 8 में इस्तेमाल किया था (यानी रोमिंगसेटिंग.save())? –

+1

आपको वास्तव में इसकी आवश्यकता है: ApplicationData.Current.RoamingSettings.SaveSettingValue ("कुंजी", "मान"); – LPains

+0

मुझे अपने कोड में SaveSettingsValue() नहीं मिला है, यह मुझे एक त्रुटि दे रहा है। –

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