इसके माध्यम से साझा किया गया


SaveData, , LoadDataऔर कार्य ClearData

इस पर लागू होता है: कैनवास ऐप्स

अनुप्रयोग होस्ट के स्टोरेज से संग्रह सहेजता है और फिर से लोड करता है.

विवरण

फ़ंक्शन एक नाम के SaveData तहत बाद में उपयोग के लिए एक संग्रह संग्रहीत करता है।

LoadData फ़ंक्शन नाम से एक संग्रह को पुनः लोड करता है जिसे पहले सहेजा SaveDataगया था। आप किसी अन्य स्रोत से संग्रह लोड करने के लिए इस फ़ंक्शन का उपयोग नहीं कर सकते.

ClearData फ़ंक्शन एक विशिष्ट नाम के तहत स्टोरेज को साफ़ करता है या यदि कोई नाम नहीं दिया गया है तो ऐप से जुड़े सभी स्टोरेज को साफ़ कर देता है।

नोट

  • के बीच SaveDataसाझा किया गया नाम, , LoadDataऔर एक ClearData कुंजी है, फ़ाइल नाम नहीं। यह जटिल नहीं होना चाहिए क्योंकि प्रत्येक ऐप के लिए नाम अद्वितीय है और इसमें नाम में विरोधाभास होने का कोई खतरा नहीं है. नाम में इनमें से कोई भी वर्ण नहीं होने चाहिए: *".?:\<>|/.
  • SaveData Teams और वेब ब्राउज़र में चल रहे Power Apps के लिए 1 MB डेटा तक सीमित है. मोबाइल प्लेयर में चलने वाले Power Apps के लिए कोई निश्चित सीमा नहीं है लेकिन नीचे चर्चा की गई व्यावहारिक सीमाएँ हैं.
  • वेब में संवेदनशील डेटा संग्रहीत करने के लिए उपयोग न SaveData करें क्योंकि यह सादे पाठ में संग्रहीत किया जाएगा।

ऐप-स्टार्टअप प्रदर्शन को बेहतर बनाने के लिए इन फ़ंक्शन का उपयोग करें:

  • पहले रन में App.OnStart सूत्र में डेटा कैश करना.
  • अगले रनों में स्थानीय कैश पुनः लोड करना.

आप इन फ़ंक्शन को अपने ऐप में साधारण ऑफ़लाइन क्षमताएं जोड़ने के लिए भी उपयोग कर सकते हैं.

आप इन स्थितियों में इन फ़ंक्शन का उपयोग ब्राउज़र में नहीं कर सकते हैं:

  • Power Apps Studio में ऐप्स ऑथर करना.

अपने ऐप का परीक्षण करने के लिए, इसे किसी iPhone या Android डिवाइस पर Power Apps मोबाइल में चलाएं.

ये फ़ंक्शन उपलब्ध ऐप मेमोरी की मात्रा के द्वारा सीमित हैं क्योंकि ये इन-मेमोरी संग्रह पर काम करते हैं. उपलब्ध मेमोरी निम्न कारकों के आधार पर भिन्न हो सकती है:

  • डिवाइस और ऑपरेटिंग सिस्टम.
  • वह मेमोरी जो Power Apps प्लेयर उपयोग करता है.
  • स्क्रीन और नियंत्रण के साथ ऐप की जटिलता.

बड़ा डेटा संग्रहीत करते समय, आप डिवाइसेस के जिन प्रकार पर ऐप को चलाने की अपेक्षा करते हैं, उन पर अपेक्षित परिदृश्यों के साथ अपने ऐप का परीक्षण करें. आमतौर पर 30 MB और 70 MB के बीच उपलब्ध मेमोरी की अपेक्षा करें.

ये फ़ंक्शंस संग्रह पर निर्भर करते हैं जिन्हें Collect या ClearCollect से अप्रत्यक्ष रूप से परिभाषित किया जाता है. संग्रह को परिभाषित करने के लिए आपको Collect या ClearCollect को कॉल करके उसमें डेटा लोड करने की आवश्यकता नहीं है. पिछले के बाद उपयोग SaveDataकरते LoadData समय यह एक सामान्य मामला है। संग्रह की संरचना को अप्रत्यक्ष रूप से परिभाषित करने के लिए, सभी कुछ जो चाहिए वह एक सूत्र में इन फ़ंक्शन की उपस्थिति है. अधिक जानकारी के लिए, चर बनाना और निकालना देखें.

लोड किए गए डेटा को संग्रह में जोड़ा जाएगा. यदि आप किसी रिक्त संग्रह से प्रारंभ करना चाहते हैं तो कॉल करने LoadData से पहले साफ़ करें फ़ंक्शन का उपयोग करें.

डेटा सुरक्षा

संग्रहीत डेटा SaveData के अलगाव और एन्क्रिप्शन पर सावधानीपूर्वक विचार करें और तय करें कि क्या यह आपकी आवश्यकताओं के लिए उपयुक्त है, खासकर यदि डिवाइस कई उपयोगकर्ताओं द्वारा साझा किए जाते हैं।

इसके साथ संग्रहीत SaveData डेटा को Power Apps प्लेयर्स द्वारा अन्य Power Apps से अलग किया जाता है. डेटा ऐप की ऐप आईडी के आधार पर संग्रहीत किया जाता है, जो स्वचालित रूप से Power Apps के बीच नाम स्थान को SaveData अलग करता है।

ऑपरेटिंग सिस्टम और ब्राउज़र डिवाइस और वेबसाइटों पर अन्य ऐप्स के बीच डेटा को अलग करने के लिए जिम्मेदार है। Power Apps उदाहरण के लिए, ऑपरेटिंग सिस्टम Microsoft Outlook में संग्रहीत डेटा को Power Apps में संग्रहीत डेटा से अलग करने के लिए जिम्मेदार है, और उस डेटा को Bing.com या PowerApps.com जैसी वेबसाइटों से अलग करने के लिए भी जिम्मेदार है। ऑपरेटिंग सिस्टम के बिल्ट इन ऐप सैंडबॉक्स सुविधाओं का उपयोग स्टोरेज के लिए किया SaveData जाता है जो आमतौर पर उपयोगकर्ता के लिए सुलभ या छिपा नहीं होता है।

एक ही ऐप का उपयोग करते समय, ऑपरेटिंग सिस्टम और ब्राउज़र विभिन्न ऑपरेटिंग सिस्टम स्तर के उपयोगकर्ताओं के बीच डेटा को अलग करने के लिए भी जिम्मेदार होता है। उदाहरण के लिए, यदि दो अलग-अलग उपयोगकर्ता एक कंप्यूटर साझा करते हैं और दो अलग-अलग विंडोज लॉगिन क्रेडेंशियल्स का उपयोग करते हैं, तो ऑपरेटिंग सिस्टम दो विंडोज उपयोगकर्ताओं के बीच डेटा को अलग करने के लिए जिम्मेदार होता है।

यदि ऑपरेटिंग सिस्टम उपयोगकर्ता एक ही है तो डेटा को विभिन्न उपयोगकर्ताओं के बीच अलग किया जा सकता है या नहीं भी किया जा सकता है। Power Apps हर खिलाड़ी इसे एक ही तरह से नहीं मानता। Power Apps उदाहरण के लिए, Power Apps प्लेयर में समान विंडोज उपयोगकर्ता के रूप में लॉग इन करते समय, उपयोगकर्ता Power Apps से साइन आउट हो जाता है और किसी भिन्न Power Apps उपयोगकर्ता के रूप में साइन इन करता है। उपयोगकर्ता के परिवर्तन से पहले किसी ऐप में संग्रहीत डेटा, उसी ऐप के दूसरे उपयोगकर्ता के लिए सुलभ हो सकता है। Power Apps Power Apps डेटा हटाया भी जा सकता है और प्रथम उपयोगकर्ता उस तक पहुंच नहीं पाएगा। Power Apps खिलाड़ियों के बीच व्यवहार भिन्न होता है। Power Apps

ऑपरेटिंग सिस्टम डेटा को एन्क्रिप्ट भी कर सकता है या आप Microsoft Intune जैसे मोबाइल डिवाइस प्रबंधन टूल का उपयोग कर सकते हैं। वेब ब्राउज़र में ऐप चलाते समय संग्रहित डेटा एन्क्रिप्ट नहीं किया जाता है.

सिंटैक्स

SaveData( संग्रह,नाम )
LoadData( संग्रह,नाम [, IgnoreNonexistentFile ])

  • संग्रह - आवश्यक. संग्रह जिसे संग्रहीत या लोड किया जाना है.
  • नाम - आवश्यक. संग्रहण का नाम. डेटा के समान सेट को सहेजने और लोड करने के लिए नाम समान होना चाहिए. नाम स्थान अन्य ऐप्स के साथ साझा नहीं किया जाता है. नामों में इनमें से कोई भी वर्ण नहीं होने चाहिए: *".?:\<>|/.
  • IgnoreNonexistentFile - वैकल्पिक. यदि फ़ाइल पहले से मौजूद नहीं है तो क्या करें, यह दर्शाने वाला बूलियन मान. त्रुटि वापस लौटाने के लिए गलत (डिफ़ॉल्ट) का उपयोग करें और त्रुटि को दबाने के लिए सही का उपयोग करें.

ClearData( [नाम] )

  • नाम - वैकल्पिक. पहले सहेजे गए SaveDataसंग्रहण का नाम। यदि नाम प्रदान नहीं किया गया है, तो अनुप्रयोग से जुड़े सभी स्टोरेज साफ़ हो जाते हैं.

उदाहरण

सूत्र विवरण परिणाम
SaveData(लोकलकैश, "मायकैश") LocalCache संग्रह को "MyCache" नाम के तहत उपयोगकर्ता के डिवाइस पर सहेजें, जो बाद में पुनः प्राप्त करने के लिए उपयुक्त LoadData है। डेटा "MyCache" नाम के अंतर्गत अनुप्रयोग होस्ट में सहेजा गया है.
LoadData(लोकलकैश, "मायकैश") उपयोगकर्ता के डिवाइस से LocalCache संग्रह को "MyCache" नाम से लोड करता है, जिसे पहले कॉल के साथ संग्रहीत किया गया SaveDataथा। डेटा "MyCache" नाम के अंतर्गत अनुप्रयोग होस्ट से लोड किया गया है.
ClearData( "MyCache") "MyCache" नाम से स्टोरेज को साफ़ करता है. इस नाम के तहत संग्रहीत कोई भी डेटा अब के माध्यम से LoadDataउपलब्ध नहीं होगा। डेटा "MyCache" नाम के अंतर्गत अनुप्रयोग होस्ट से हटा दिया गया है.
ClearData() इस अनुप्रयोग से जुड़े सभी स्टोरेज को साफ़ करें. अन्य अनुप्रयोग्स द्वारा स्टोर किया गया डेटा प्रभावित नहीं होता है. अनुप्रयोग होस्ट से सभी डेटा हटा दिया गया है.

सरल ऑफ़लाइन उदाहरण

निम्न सरल उदाहरण, ऑफ़लाइन रहते हुए, दैनिक आइटम्स के नाम और चित्र कैप्चर और संग्रहीत करता है. यह बाद में उपयोग के लिए डिवाइस के स्थानीय संग्रहण में जानकारी संग्रहीत करता है. यह बिना डेटा खोए ऐप को बंद करने या डिवाइस को पुनरारंभ करने देता है.

नोट

यह उदाहरण छवियों को कैप्चर करने के लिए कैमरा नियंत्रण का उपयोग करता है. चूंकि SaveData टीम या वेब ब्राउज़र में चलते समय यह 1 एमबी डेटा तक सीमित है, इसलिए यह उदाहरण कुछ छवियों से अधिक के साथ काम नहीं करेगा। साथ ही, कैमरे के आधार पर, यह एक छवि के साथ भी काम नहीं कर सकता है. इस पूरे उदाहरण के माध्यम से काम करने के लिए एक डिवाइस का उपयोग करें, या Teams या वेब ब्राउज़र में चलाने के लिए इस उदाहरण के कैमरा नियंत्रण और चित्र भाग को हटा दें.

  1. टैबलेट लेआउट के साथ एक रिक्त कैनवास ऐप बनाएं. अधिक जानकारी के लिए, एक टेम्प्लेट से ऐप बनाना पढ़ें और रिक्त ऐप के अंतर्गत टैबलेट लेआउट का चयन करें.

  2. एक पाठ इनपुटनियंत्रण और कैमरा नियंत्रण जोड़ें और उन्हें दिखाए अनुसार व्यवस्थित करें:

    रिक्त स्क्रीन पर पाठ इनपुट और कैमरा नियंत्रण जोड़ा गया।

  3. एक बटन नियंत्रण जोड़ें.

  4. बटन नियंत्रण पर डबल-क्लिक करें ताकि बटन पाठ में आइटम जोड़ने (या पाठ गुण को संशोधित करने ) के लिए बटन पाठ को बदला जा सके.

  5. इस बटन नियंत्रण के OnSelect गुण को इस सूत्र पर सेट करें जो हमारे संग्रहण में आइटम जोड़ देगा.

    Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
    

  6. एक अन्य बटन नियंत्रण जोड़ें.

  7. बटन पाठ को डेटा सहेजने (या पाठ गुण को संशोधित करने ) के लिए बदलने के लिए बटन नियंत्रण पर डबल-क्लिक करें.

  8. बटन नियंत्रण के OnSelect गुण को इस सूत्र पर सेट करें ताकि हमारे संग्रहण को स्थानीय डिवाइस पर सहेजा जा सके:

    SaveData( MyItems, "LocalSavedItems" )
    

    इस बटन का परीक्षण करना आपको आकर्षित कर सकता है क्योंकि इससे कुछ भी प्रभावित नहीं होता है. लेकिन आपको केवल एक त्रुटि दिखाई देगी क्योंकि आप वेब ब्राउज़र में लेखन कर रहे हैं. इस सूत्र का परीक्षण करने के लिए अगले चरणों का पालन करने से पहले, ऐप को पहले सहेजें और डिवाइस पर खोलें:

  9. एक तीसरा बटन नियंत्रण जोड़ें.

  10. बटन पाठ को डेटा लोड करें (या Text गुण को संशोधित करने ) के लिए बदलने के लिए बटन नियंत्रण पर डबल-क्लिक करें.

  11. बटन नियंत्रण के OnSelect गुण को इस सूत्र पर सेट करें ताकि हमारे संग्रहण को स्थानीय डिवाइस से लोड किया जा सके:

    LoadData( MyItems, "LocalSavedItems" )
    

  12. एक लंबवत लेआउट के साथ गैलरी नियंत्रण जोड़ें जिसमें एक चित्र और पाठ क्षेत्र शामिल हैं:

    गैलरी विविधता चयन, छवि और पाठ क्षेत्रों के साथ

  13. संकेत दिए जाने पर, इस गैलरी के लिए डेटा स्रोत के रूप में मेरे आइटम संग्रहण का चयन करें. इससे गैलरी नियंत्रण का आइटम्स गुण सेट हो जाएगा:

    डेटा स्रोत का गैलरी चयन. गैलरी टेम्पलेट में छवि नियंत्रण को अपने Image गुण को ThisItem.Picture पर डिफ़ॉल्ट करना चाहिए और लेबल नियंत्रणों को अपने Text गुण को ThisItem.Item पर डिफ़ॉल्ट करना चाहिए. अगर निम्न चरणों में आइटम जोड़ने के बाद आपको गैलरी में कुछ नहीं दिखाई देता है, तो इन सूत्रों की जाँच करें.

  14. नियंत्रण की स्थिति अन्य नियंत्रणों के दाईं ओर करें:

    गैलरी को स्क्रीन के दाईं ओर पुनः स्थापित किया गया।

  15. अपना ऐप सहेजें. यदि यह पहली बार सहेजा गया है, तो इसे प्रकाशित करने की कोई आवश्यकता नहीं है. यदि यह पहली बार नहीं है, तो सहेजने के बाद ऐप प्रकाशित करें.

  16. अपने ऐप को किसी डिवाइस जैसे फ़ोन या टैबलेट पर खोलें. SaveData और स्टूडियो LoadData या वेब ब्राउज़र में उपयोग नहीं किया जा सकता है। यदि आपको अपना ऐप तुरंत दिखाई नहीं देता है, तो ऐप सूची को ताज़ा करें, ऐप को आपके डिवाइस पर प्रदर्शित होने में कुछ सेकंड लग सकते हैं. अपने खाते से साइन आउट करना और वापस जाना भी मदद कर सकता है.

    ऐप बिना कोई आइटम जोड़े चल रहा है। एक बार आपका ऐप डाउनलोड हो जाने के बाद, आप नेटवर्क से डिस्कनेक्ट हो सकते हैं और ऐप को ऑफ़लाइन चला सकते हैं।

  17. नाम दर्ज करें और किसी आइटम का चित्र लें.

  18. आइटम जोड़ें बटन का चयन करें. अपने संग्रह को लोड करने के लिए आइटम जोड़ने को कई बार दोहराएं.

    ऐप तीन आइटम जोड़कर चल रहा है।

  19. डेटा सहेजें बटन का चयन करें. यह आपके डेटा को आपके स्थानीय डिवाइस के आपके संग्रह में सहेजेगा.

  20. ऐप बंद करें. मेमोरी में आपका संग्रह सभी आइटम के नामों और चित्रों सहित खो जाएगा, लेकिन फिर भी वे डिवाइस के संग्रहण में रहेंगे.

  21. ऐप को दोबारा लॉन्च करें. मेमोरी में संग्रह, गैलरी में दोबारा खाली दिखाई देगा.

    ऐप बिना कोई आइटम जोड़े फिर से चल रहा है।

  22. डेटा लोड करें बटन का चयन करें. संग्रह आपके डिवाइस पर संग्रहीत डेटा से दोबारा पॉप्यूलेट होगा और आपके आइटम गैलरी में वापस आ जाएंगे. इस बटन द्वारा फ़ंक्शन को कॉल करने LoadData से पहले संग्रह खाली था; भंडारण से डेटा लोड करने से पहले संग्रह याClearCollect को कॉल करने की कोई आवश्यकता नहीं थी।

    फ़ंक्शन को कॉल करने LoadData के बाद तीन आइटम के साथ ऐप को पुनर्स्थापित किया गया।

  23. डेटा लोड करें बटन का दोबारा चयन करें. संग्रहीत डेटा को संग्रह के अंत में जोड़ा जाएगा और गैलरी पर एक स्क्रॉल बार दिखाई देगा. यदि आप जोड़ने के बजाय बदलना चाहते हैं, तो फ़ंक्शन को कॉल करने LoadData से पहले संग्रह को साफ़ करने के लिए पहले साफ़ करें फ़ंक्शन का उपयोग करें।

    फ़ंक्शन को LoadData दो बार कॉल करने के बाद छह वस्तुओं के साथ चलने वाला ऐप।

अधिक उन्नत ऑफ़लाइन उदाहरण

एक विस्तृत उदाहरण के लिए, सरल ऑफ़लाइन क्षमताओं पर एक आलेख देखें.