הפונקציות SaveData,‏ LoadData ו- ClearData

חל על: יישומי בד ציור

שומר וטוען מחדש אוסף מהאחסון של מארח היישום.

הערה

כעת ניתן להשתמש בפונקציות אלו בעת הפעלת יישום בדפדפן אינטרנט כתכונה ניסיונית. תכונה זו מושבתת כברירת מחדל. כדי להפוך אותה לזמינה, נווט אל הגדרות>תכונות עתידיות>ניסיוני>הפוך את SaveData‏, LoadData‏, ClearData לזמינים בנגן האינטרנט." והעבר את המתג למצב מופעל. כדי לשלוח משוב לגבי תכונה ניסיונית זו, עבור אל פורום הקהילה של Power Apps.

תיאור

הפונקציה SaveData מאחסנת אוסף עבור שימוש מאוחר יותר תחת שם.

הפונקציה LoadData טוענת מחדש אוסף לפי שם שנשמר קודם לכן עם SaveData. אינך יכול להשתמש בפונקציה זו כדי לטעון אוסף ממקור אחר.

הפונקציה ClearData מנקה את האחסון בשם מסוים או מנקה את כל האחסון המשויך ליישום אם לא צוין שם.

הערה

  • השם המשותף בין SaveData, LoadData ו- ClearData הוא מפתח ולא שם קובץ. הוא אינו צריך להיות מורכב משום ששמות הם ייחודיים לכל יישום ואין סכנה להתנגשות שמות. אסור שהשם יכיל אף אחת מהתווים הללו: *".?:\<>|/.
  • SaveData מוגבל ל- 1‎ MB של נתונים עבור יישומי Power Apps הפועלים ב- Teams ובדפדפן אינטרנט. אין מגבלה קבועה עבור Power Apps הפועל בנגן נייד, אבל קיימות מגבלות שימושיות שנידונות להלן.
  • אל תשתמש באפשרות שמור מידע כדי לאחסן נתונים רגישים באינטרנט, מכיוון שהם יאוחסנו בטקסט רגיל.

השתמש בפונקציות אלה כדי לשפר את ביצועי אתחול היישום על-ידי:

  • אחסון נתונים במטמון בנוסחה App.OnStart בהפעלה ראשונה.
  • טעינה מחדש של המטמון המקומי בהפעלות הבאות.

באפשרותך גם להשתמש בפונקציות אלה כדי להוסיף יכולות לא מקוונות פשוטות ליישום שלך.

אינך יכול להשתמש בפונקציות אלה בתוך דפדפן בעת:

  • עריכת היישום ב- Power Apps Studio.

כדי לבדוק את היישום שלך, הפעל אותו ב- Power Apps Mobile ב- iPhone או במכשיר Android.

פונקציות אלה מוגבלות על-ידי כמות זיכרון היישום הזמין משום שהן פועלות באוסף בזיכרון. הזיכרון הזמין יכול להשתנות בהתאם לגורמים כגון:

  • המכשיר ומערכת ההפעלה.
  • הזיכרון שנגן Power Apps משתמש בו.
  • מורכבות היישום עם מסכים ופקדים.

בדוק את היישום שלך עם תרחישים צפויים בסוג המכשירים שאתה מצפה שהיישום יפעל בהם בעת אחסון נתונים גדולים. צפה שיהיו לך ‎30 MB עד 7‎0 MB של זיכרון זמין בדרך כלל.

פונקציות אלה תלויות באוסף המוגדר באופן מרומז עם Collect או ClearCollect. אינך צריך לקרוא ל- Collect או ClearCollect כדי לטעון נתונים לאוסף לצורך הגדרתו. השימוש ב- LoadData אחרי SaveData קודמת הוא נפוץ. כל מה שדרוש זה נוכחות של פונקציות אלה בנוסחה כדי להגדיר באופן מרומז את מבנה האוסף. לקבלת מידע נוסף, ראה יצירה והסרה של משתנים.

הנתונים שנטענו יצורפו לאוסף. השתמש בפונקציה Clear לפני הקריאה ל- LoadData אם ברצונך להתחיל עם אוסף ריק.

אבטחת נתונים

שקול היטב את הבידוד וההצפנה של נתונים המאוחסנים ב- SaveData והחלט אם זה מתאים לצרכים שלך, במיוחד אם מכשירים משותפים למספר משתמשים.

הנתונים המאוחסנים עם SaveData מבודדים משאר ה- Power Apps על ידי שחקני Power Apps. הנתונים מאוחסנים על סמך מזהה האפליקציה של האפליקציה, ומבודדים אוטומטית את מרחב השמות SaveData בין Power Apps.

מערכת ההפעלה והדפדפן אחראים על בידוד הנתונים בין Power Apps ואפליקציות אחרות במכשיר ובאתרים. לדוגמה, מערכת ההפעלה אחראית לבודד נתונים המאוחסנים ב- Microsoft Outlook מנתונים המאוחסנים ב- Power Apps, וגם לבודד את הנתונים מאתרים כגון Bing.com או PowerApps.com. מתקני ארגז החול המובנים של מערכת ההפעלה משמשים לאחסון SaveData שבדרך כלל אינו נגיש או מוסתר מהמשתמש.

בעת שימוש באותה אפליקציה, מערכת ההפעלה והדפדפן אחראים גם על בידוד הנתונים בין משתמשים שונים ברמת מערכת ההפעלה. לדוגמה, אם שני משתמשים שונים חולקים מחשב ומשתמשים בשני אישורי כניסה שונים של Windows, מערכת ההפעלה אחראית על בידוד הנתונים בין שני משתמשי Windows.

נתונים עשויים להיות מבודדים או לא בין משתמשים שונים ב- Power Apps אם המשתמש במערכת ההפעלה זהה. לא כל מי שמפעיל Power Apps מתייחס לזה באותה צורה. לדוגמה, בזמן שהוא מחובר כאותו משתמש Windows, בנגן Power Apps, המשתמש יוצא מ- Power Apps ונכנס כמשתמש Power Apps אחר. נתונים המאוחסנים באפליקציה לפני השינוי של משתמש Power Apps עשויים להיות נגישים למשתמש השני ב- Power Apps באותה אפליקציה. ייתכן שהנתונים יוסרו וייתכן שהמשתמש הראשון ב- Power Apps לא יוכל לגשת אליהם יותר. ההתנהגות משתנה בין מי שמפעיל את Power Apps.

מערכת ההפעלה עשויה גם להצפין את הנתונים; או שבאפשרותך להשתמש בכלי ניהול מכשירים ניידים כגון Microsoft Intune. נתונים המאוחסנים בעת הפעלת יישום בדפדפן אינטרנט אינם מוצפנים.

תחביר

SaveData( Collection, Name )
LoadData( Collection, Name [, IgnoreNonexistentFile ])

  • Collection - נדרש. אוסף לאחסון או לטעינה.
  • Name - נדרש. שם האחסון. השם מוכרח להיות זהה כדי לשמור ולטעון את אותה ערכה של נתונים. מרחב השמות אינו משותף עם אפליקציות אחרות. אסור שהשמות יכילו אף אחת מהתווים הללו: *".?:\<>|/.
  • IgnoreNonexistentFile - אופציונלי. ערך בוליאני המציין מה לעשות אם הקובץ כבר לא קיים. השתמש ב- false (ברירת מחדל) כדי להחזיר שגיאה וב- true כדי להשמיט את השגיאה.

ClearData( [שם] )

  • Name - אופציונלי. שם האחסון שנשמר בעבר עם SaveData. אם לא צוין שם, כל האחסון המשויך ליישום ינוקה.

דוגמאות

נוסחה תיאור תוצאה
SaveData( LocalCache, "MyCache" ) שמור את האוסף LocalCache במכשיר המשתמש תחת השם "MyCache", המתאים עבור LoadData לצורך אחזור במועד מאוחר יותר. הנתונים נשמרים במארח היישום תחת "MyCache".
LoadData( LocalCache, "MyCache" ) טוען את האוסף LocalCache ממכשיר המשתמש תחת השם "MyCache", שאוחסן קודם לכן עם קריאה ל- SaveData. הנתונים נטענים ממארח היישום תחת "MyCache".
ClearData( "MyCache" )‎ מנקה את האחסון השמור בשם "MyCache". כל הנתונים המאוחסנים בשם זה לא יהיו זמינים עוד באמצעות LoadData. הנתונים מוסרים ממארח היישום תחת "MyCache".
ClearData()‎ נקה את כל האחסון המשויך ליישום זה. נתונים המאוחסנים על-ידי יישומים אחרים אינם מושפעים. כל הנתונים מוסרים ממארח היישום.

דוגמא לא מקוונת פשוטה

להלן דוגמה פשוטה הלוכדת ומאחסנת את השמות והתמונות של פריטים יומיומיים במצב לא מקוון. היא מאחסנת את המידע באחסון המקומי של המכשיר לצורך שימוש במועד מאוחר יותר. הדבר מאפשר סגירה של היישום או הפעלה מחדש של המכשיר מבלי לאבד נתונים.

הערה

דוגמה זו משתמשת בפקד camera ללכידת תמונות. משום ש- SaveData מוגבלת ל- 1‎ MB של נתונים כאשר היא פועלת ב- Teams או בדפדפן אינטרנט, דוגמה זו לא תפעל עם יותר ממספר מצומצם של תמונות. כמו כן, בהתאם למצלמה, ייתכן שהיא לא תפעל אפילו עם תמונה אחת. השתמש במכשיר כדי לעבוד עם דוגמה מלאה זו, או הסר את פקד ה- camera ואת חלק התמונה של דוגמה זו כדי שיפעלו ב- Teams או בדפדפן אינטרנט.

  1. צור יישום בד ציור ריק עם פריסת Tablet. לקבלת פרטים נוספים, קרא את יצירת יישום מתבנית ובחר את פריסת Tablet תחת יישום ריק.

  2. הוסף פקד Text input ופקד Camera‎ וסדר אותם פחות או יותר באופן הבא:

    פקד text input ופקד camera המתווספים למסך ריק.

  3. הוסף פקד Button‎.

  4. לחץ לחיצה כפולה על פקד הלחצן כדי לשנות את טקסט הלחצן לערך הוסף פריט (או שנה את המאפיין Text‎).

  5. הגדר את המאפיין OnSelect של פקד הלחצן לנוסחה זו שתוסיף פריט לאוסף שלנו:

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

    פקד לחצן שנוסף עם הטקסט

  6. הוסף פקד Button‎ נוסף.

  7. לחץ לחיצה כפולה על פקד הלחצן כדי לשנות את טקסט הלחצן לערך שמור נתונים (או שנה את המאפיין Text‎).

  8. הגדר את המאפיין OnSelect של פקד הלחצן לנוסחה זו כדי לשמור את האוסף שלנו במכשיר המקומי:

    SaveData( MyItems, "LocalSavedItems" )
    

    פקד לחצן שנוסף עם הטקסט

    זה מפתה לבדוק את הלחצן משום שאינו משפיע על שום דבר. אבל תראה רק שגיאה כאשר תבצע עריכה בדפדפן אינטרנט. שמור תחילה את היישום ופתח את המכשיר לפני שתבצע את השלבים הבאים לבדיקת הנוסחה:

  9. הוסף פקד Button‎ שלישי.

  10. לחץ לחיצה כפולה על פקד הלחצן כדי לשנות את טקסט הלחצן לערך טען נתונים (או שנה את המאפיין Text‎).

  11. הגדר את המאפיין OnSelect של פקד הלחצן לנוסחה זו כדי לטעון את האוסף שלנו מהמכשיר המקומי:

    LoadData( MyItems, "LocalSavedItems" )
    

    פקד לחצן שנוסף עם הטקסט

  12. הוסף פקד Gallery‎ עם פריסה אנכית שכוללת אזורי תמונה וטקסט:

    בחירת מגוון הגלריה,

  13. כשתתבקש, בחר את האוסף MyItems כמקור הנתונים עבור גלריה זו. פעולה זו תגדיר את המאפיין Items‎ של הפקד Gallery‎:

    בחירת גלריות של מקור נתונים. פקד התמונה בתבנית הגלריה אמור להגדיר את מאפיין התמונה שלו כברירת מחדל ל- ThisItem.Picture ושני פקדי התווית אמורים להגדיר את מאפייני הטקסט שלהם כברירת מחדל ל- ThisItem.Item. בדוק נוסחאות אלה אם לאחר הוספת פריטים בשלבים הבאים אינך רואה שום דבר בגלריה.

  14. מקם את הפקד מימין לפקדים האחרים:

    גלריה ממוקמת מחדש בצד ימין של המסך.

  15. שמור את היישום שלך. אם זו הפעם הראשונה שהוא נשמר, אין צורך לפרסם אותו. אם זו לא הפעם הראשונה, פרסם את היישום לאחר שמירתו.

  16. פתח את היישום שלך במכשיר כגון טלפון או Tablet. לא ניתן להשתמש בפונקציות SaveData ו- LoadData ב- Studio או בדפדפן אינטרנט. רענן את רשימת היישומים שלך אם אינך רואה את היישום באופן מיידי, ייתכן שיחלפו מספר שניות עד שהיישום יופיע במכשיר שלך. יציאה וכניסה חזרה לחשבון יכולות גם הן לעזור.

    היישום פועל ללא פריטים שנוספו. לאחר הורדת היישום, תוכל להתנתק מהרשת ולהפעיל את היישום במצב לא מקוון.

  17. הזן את השם וצלם תמונה של פריט.

  18. בחר בלחצן הוסף פריט. חזור על הוספת פריטים מספר פעמים כדי לטעון את האוסף שלך.

    היישום פועל עם שלושה פריטים שנוספו.

  19. בחר בלחצן שמור נתונים. הלחצן ישמור את הנתונים באוסף שלך במכשיר המקומי.

  20. סגור את היישום. האוסף שלך בזיכרון יאבד, כולל כל שמות הפריטים והתמונות, אך הם עדיין יישארו באחסון המכשיר.

  21. הפעל שוב את היישום. האוסף בזיכרון יוצג שוב כריק בגלריה.

    היישום פועל שוב ללא פריטים שנוספו.

  22. בחר בלחצן טען נתונים. האוסף יאוכלס מחדש מהנתונים המאוחסנים במכשיר שלך והפריטים שלך יחזרו לגלריה. האוסף היה ריק לפני שלחצן זה קורא לפונקציה LoadData; לא היה צורך לקרוא ל- Collect או ClearCollect לפני טעינת הנתונים מהאחסון.

    היישום הפועל עם שלושה פריטים ששוחזרו לאחר קריאה לפונקציה LoadData.

  23. בחר שוב בלחצן טען נתונים. הנתונים המאוחסנים יצורפו לסוף האוסף וסרגל גלילה יופיע בגלריה. אם ברצונך להחליף במקום לצרף, השתמש תחילה בפונקציה Clear כדי לנקות את האוסף לפני הקריאה לפונקציה LoadData.

    היישום הפועל עם שישה פריטים ששוחזרו לאחר קריאה פעמיים לפונקציה LoadData.

דוגמה לא מקוונת מתקדמת יותר

לקבלת דוגמה מפורטת, עיין במאמר בנושא יכולות לא מקוונות פשוטות.