Συναρτήσεις SaveData, LoadData και ClearData

Ισχύει σε: Εφαρμογές καμβά

Αποθηκεύει και επαναφορτώνει μια συλλογή από τον χώρο αποθήκευσης του κεντρικού υπολογιστή της εφαρμογής.

Σημείωμα

Αυτές οι λειτουργίες μπορούν πλέον να χρησιμοποιηθούν κατά την αναπαραγωγή μιας εφαρμογής σε ένα πρόγραμμα περιήγησης web ως πειραματική δυνατότητα. Αυτή η δυνατότητα είναι απενεργοποιημένη από προεπιλογή. Για ενεργοποίηση, μεταβείτε στο Ρυθμίσεις>Επερχόμενες δυνατότητες>Πειραματικές>Ενεργοποιημένα SaveData, LoadData, ClearData στο πρόγραμμα αναπαραγωγής web." και ενεργοποιήστε τον διακόπτη. Για να υποβάλετε σχόλια σχετικά με αυτήν την πειραματική δυνατότητα, μεταβείτε στο φόρουμ της κοινότητας Power Apps.

Περιγραφή

Η συνάρτηση SaveData αποθηκεύει μια συλλογή με ένα όνομα για μελλοντική χρήση.

Η συνάρτηση LoadData φορτώνει πάλι μια συλλογή βάσει ονόματος που έχει αποθηκευτεί προηγουμένως με τη συνάρτηση SaveData. Δεν μπορείτε να χρησιμοποιήσετε αυτή τη συνάρτηση για φόρτωση μιας συλλογής από μια άλλη προέλευση.

Η συνάρτηση ClearData απαλείφει τον χώρο αποθήκευσης κάτω από ένα συγκεκριμένο όνομα ή απαλείφει όλους τους χώρους αποθήκευσης που σχετίζονται με την εφαρμογή, εάν δεν παρέχεται όνομα.

Σημείωμα

  • Το όνομα που χρησιμοποιείται από κοινού μεταξύ των SaveData, LoadData και ClearData είναι ένα κλειδί, όχι ένα όνομα αρχείου. Δεν χρειάζεται να είναι πολύπλοκο, καθώς τα ονόματα είναι μοναδικά για κάθε εφαρμογή και δεν υπάρχει κίνδυνος διένεξης με το όνομα. Το όνομα δεν πρέπει να περιέχει κανέναν από αυτούς τους χαρακτήρες: *".?:\<>|/.
  • Το SaveData περιορίζεται σε 1 MB δεδομένων για Power Apps που εκτελείται στο Teams και σε πρόγραμμα περιήγησης στο Web. Δεν υπάρχει σταθερό όριο για την εκτέλεση του Power Apps σε πρόγραμμα αναπαραγωγής κινητής συσκευής αλλά υπάρχουν πρακτικά όρια που περιγράφονται παρακάτω.
  • Μην χρησιμοποιείτε το SaveData για να αποθηκεύετε ευαίσθητα δεδομένα στο web, καθώς θα αποθηκεύονται σε απλό κείμενο.

Χρησιμοποιήστε αυτές τις συναρτήσεις για τη βελτίωση των επιδόσεων εκκίνησης των εφαρμογών με:

  • Προσωρινή αποθήκευση δεδομένων στον τύπο App.OnStart σε μια πρώτη εκτέλεση.
  • Επαναφόρτωση της τοπικής μνήμης cache στις επόμενες εκτελέσεις.

Επίσης, μπορείτε να χρησιμοποιήσετε αυτές τις συναρτήσεις για να προσθέσετε απλές δυνατότητες εργασίας χωρίς σύνδεση στην εφαρμογή σας.

Δεν μπορείτε να χρησιμοποιήσετε αυτές τις συναρτήσεις εντός ενός προγράμματος περιήγησης όταν:

  • Συντάσσετε την εφαρμογή στο Power Apps Studio.

Για να δοκιμάσετε την εφαρμογή σας, εκτελέστε την στο Power Apps Mobile σε ένα iPhone ή μια συσκευή Android.

Αυτές οι συναρτήσεις περιορίζονται από το μέγεθος της διαθέσιμης μνήμης εφαρμογών, καθώς λειτουργούν σε μια συλλογή στη μνήμη. Η διαθέσιμη μνήμη μπορεί να ποικίλλει ανάλογα με διάφορους παράγοντες, όπως:

  • Τη συσκευή και το λειτουργικό σύστημα.
  • Τη μνήμη που χρησιμοποιεί η εφαρμογή αναπαραγωγής του Power Apps
  • Την πολυπλοκότητα της εφαρμογής με οθόνες και χειριστήρια.

Δοκιμάστε την εφαρμογή σας με τα αναμενόμενα σενάρια στον τύπο των συσκευών που αναμένετε την εκτέλεση της εφαρμογής κατά την αποθήκευση μεγάλων δεδομένων. Αναμένετε να έχετε μεταξύ 30 MB και 70 MB διαθέσιμης μνήμης γενικά.

Οι συναρτήσεις αυτές εξαρτώνται από τη συλλογή που ορίζεται έμμεσα με τη συνάρτηση Collect ή ClearCollect. Δεν χρειάζεται να κάνετε κλήση των Collect ή ClearCollect για να φορτώσετε δεδομένα στη συλλογή ώστε να την καθορίσετε. Είναι συνηθισμένη περίπτωση, όταν χρησιμοποιείτε τη συνάρτηση LoadData μετά από μια προηγούμενη SaveData. Το μόνο που απαιτείται είναι η παρουσία αυτών των συναρτήσεων σε έναν τύπο, για να καθοριστεί σιωπηρά η δομή της συλλογής. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα δημιουργία και κατάργηση μεταβλητών.

Τα δεδομένα που έχουν φορτωθεί θα προσαρτηθούν στη συλλογή. Χρησιμοποιήστε τη συνάρτηση Clear πριν από την κλήση του LoadData εάν θέλετε να ξεκινήσετε με μια κενή συλλογή.

Ασφάλεια δεδομένων

Εξετάστε προσεκτικά την απομόνωση και την κρυπτογράφηση των δεδομένων που είναι αποθηκευμένα με SaveData και αποφασίστε εάν είναι κατάλληλο για τις ανάγκες σας, ειδικά εάν οι συσκευές είναι κοινόχρηστες από πολλούς χρήστες.

Τα δεδομένα που αποθηκεύονται με SaveData απομονώνονται από άλλα Power Apps από τους χρήστες του Power Apps. Τα δεδομένα αποθηκεύονται με βάση το αναγνωριστικό εφαρμογής της εφαρμογής, απομονώνοντας αυτόματα τον χώρο ονομάτων SaveData μεταξύ του Power Apps.

Το λειτουργικό σύστημα και το πρόγραμμα περιήγησης είναι υπεύθυνο για την απομόνωση των δεδομένων μεταξύ Power Apps και άλλων εφαρμογών σε μια συσκευή και με τοποθεσίες Web. Για παράδειγμα, το λειτουργικό σύστημα είναι υπεύθυνο για την απομόνωση των δεδομένων που είναι αποθηκευμένα στο Microsoft Outlook από δεδομένα που είναι αποθηκευμένα στο Power Apps και επίσης τγια ην απομόνωση αυτών των δεδομένων από τοποθεσίες Web όπως το 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. Τα δεδομένα που αποθηκεύονται κατά την αναπαραγωγή μιας εφαρμογής σε ένα πρόγραμμα περιήγησης web δεν είναι κρυπτογραφημένα.

Σύνταξη

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

  • Collection – Υποχρεωτικό. Η συλλογή προς αποθήκευση ή φόρτωση.
  • Name - Υποχρεωτικό. Το όνομα του χώρου αποθήκευσης. Το όνομα πρέπει να είναι ίδιο για την αποθήκευση και φόρτωση του ίδιου συνόλου δεδομένων. Ο χώρος ονομάτων δεν χρησιμοποιείται από κοινού με άλλες εφαρμογές. Τα ονόματα δεν πρέπει να περιέχουν κανέναν από αυτούς τους χαρακτήρες: *".?:\<>|/.
  • IgnoreNonexistentFile - Προαιρετικό. Μια δυαδική τιμή που υποδεικνύει τι πρέπει να κάνετε εάν το αρχείο δεν υπάρχει ήδη. Χρησιμοποιήστε την τιμή false (προεπιλογή) για να επιστρέψετε σφάλμα και true για να αποκρύψετε το σφάλμα.

ClearData( [Name] )

  • 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 ή σε πρόγραμμα περιήγησης στο Web, αυτό το παράδειγμα δεν θα λειτουργήσει με περισσότερες από λίγες εικόνες. Επίσης, ανάλογα με την κάμερα, μπορεί να μην λειτουργεί ούτε με μία εικόνα. Χρησιμοποιήστε μια συσκευή για να εργαστείτε σε αυτό το πλήρες παράδειγμα ή καταργήστε το στοιχείο ελέγχου Camera και το τμήμα εικόνας αυτού του παραδείγματος, για να το εκτελέσετε στο Teams ή σε ένα πρόγραμμα περιήγησης στο Web.

  1. Δημιουργήστε μια κενή εφαρμογή καμβά με μια διάταξη πίνακα. Για περισσότερες λεπτομέρειες, διαβάστε το θέμα δημιουργία μιας εφαρμογής από πρότυπο και επιλέξτε Διάταξη πίνακα στην Κενή εφαρμογή.

  2. Προσθέστε ένα στοιχείο ελέγχου Text input και ένα στοιχείο ελέγχου Camera και τακτοποιήστε τα περίπου όπως εμφανίζεται:

    Ένα στοιχείο ελέγχου text input και camera προστίθεται σε μια κενή οθόνη.

  3. Προσθήκη ένός στοιχείου ελέγχου Button.

  4. Κάντε διπλό κλικ στο στοιχείο ελέγχου κουμπιού για να αλλάξετε το κείμενο κουμπιού, για να προσθέσετε ένα στοιχείο (ή να τροποποιήσετε την ιδιότητα Text).

  5. Ορίστε την ιδιότητα OnSelect του στοιχείου ελέγχου Button σε αυτόν τον τύπο, ο οποίος θα προσθέσει ένα στοιχείο στη συλλογή μας:

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

    Ένα στοιχείο ελέγχου κουμπιού που προστίθεται με το κείμενο

  6. Προσθήκη στοιχείου ελέγχου άλλου Button.

  7. Κάντε διπλό κλικ στο στοιχείο ελέγχου κουμπιού για να αλλάξετε το κείμενο κουμπιού, για να αποθηκεύσετε δεδομένα (ή να τροποποιήσετε την ιδιότητα Text).

  8. Ορίστε την ιδιότητα OnSelect του στοιχείου ελέγχου Button σε αυτόν τον τύπο, για να αποθηκευτεί η συλλογή μας στην τοπική συσκευή:

    SaveData( MyItems, "LocalSavedItems" )
    

    Ένα στοιχείο ελέγχου κουμπιού που προστίθεται με το κείμενο

    Η δοκιμή του κουμπιού είναι δελεαστική, καθώς δεν επηρεάζει τίποτα. Ωστόσο, θα δείτε μόνο ένα σφάλμα, καθώς συντάσσετε σε ένα πρόγραμμα περιήγησης στο Web. Αποθηκεύστε την εφαρμογή πρώτα και ανοίξτε τη σε μια συσκευή πριν να ακολουθήσετε τα επόμενα βήματα για να δοκιμάσετε αυτόν τον τύπο:

  9. Προσθήκη στοιχείου ελέγχου ενός τρίτου Button.

  10. Κάντε διπλό κλικ στο στοιχείο ελέγχου κουμπιού για να αλλάξετε το κείμενο κουμπιού, για να φορτώσετε δεδομένα (ή να τροποποιήσετε την ιδιότητα Text).

  11. Ορίστε την ιδιότητα OnSelect του στοιχείου ελέγχου Button σε αυτόν τον τύπο, για να φορτώσει η συλλογή μας από την τοπική συσκευή:

    LoadData( MyItems, "LocalSavedItems" )
    

    Ένα στοιχείο ελέγχου κουμπιού που προστίθεται με το κείμενο

  12. Προσθέστε ένα στοιχείο ελέγχου Gallery με κατακόρυφη διάταξη που περιλαμβάνει περιοχές εικόνων και κειμένων:

    Επιλογή συλλογής ποικιλιών,

  13. Όταν σας ζητηθεί, επιλέξτε τη συλλογή MyItems ως προέλευση δεδομένων για αυτήν τη συλλογή. Με αυτόν τον τρόπο θα οριστεί η ιδιότητα Items του στοιχείου ελέγχου Gallery:

    Επιλογή συλλογής προέλευση δεδομένων.Το Στοιχείο ελέγχου Image στο πρότυπο συλλογής θα πρέπει να έχει ως προεπιλογή την ιδιότητα Image ορισμένη σε ThisItem.Picture και τα στοιχεία ελέγχου ετικέτας θα πρέπει να έχουν και τα δύο ως προεπιλογή τις ιδιότητες Text τους ρυθμισμένες σε ThisItem.Item. Ελέγξτε αυτούς τους τύπους εάν μετά την προσθήκη στοιχείων στα ακόλουθα βήματα δεν βλέπετε τίποτα στη συλλογή.

  14. Μετακινήστε το στοιχείο ελέγχου στα δεξιά των άλλων στοιχείων ελέγχου:

    Συλλογή που επανατοποθετείται στα δεξιά της οθόνης.

  15. Αποθηκεύστε την εφαρμογή σας. Εάν είναι η πρώτη φορά που αποθηκεύεται, δεν χρειάζεται να τη δημοσιεύσετε. Εάν δεν είναι η πρώτη φορά, δημοσιεύστε την εφαρμογή μετά την αποθήκευση.

  16. Ανοίξτε την εφαρμογή σας σε μια συσκευή, όπως ένα τηλέφωνο ή tablet. Τα SaveData και LoadData δεν μπορούν να χρησιμοποιηθούν στο Studio ή σε ένα πρόγραμμα περιήγησης web. Ανανεώστε τη λίστα εφαρμογών σας εάν δεν βλέπετε την εφαρμογή σας αμέσως. Μπορεί να χρειαστούν μερικά δευτερόλεπτα για να εμφανιστεί η εφαρμογή στη συσκευή σας. Η έξοδος και η επιστροφή στο λογαριασμό σας μπορεί να σας βοηθήσει επίσης.

    Εφαρμογή που εκτελείται χωρίς προσθήκη στοιχείων.Μόλις γίνει λήψη της εφαρμογής σας, μπορείτε να αποσυνδεθείτε από το δίκτυο και να εκτελέσετε την εφαρμογή χωρίς σύνδεση.

  17. Εισαγάγετε το όνομα και φωτογραφίστε ένα στοιχείο.

  18. Επιλέξτε το κουμπί Προσθήκη στοιχείου. Επαναλάβετε την προσθήκη στοιχείων μια-δυο φορές για να φορτώσετε τη συλλογή σας.

    Η εφαρμογή εκτελείται με τρία στοιχεία που έχου προστεθεί.

  19. Επιλέξτε το κουμπί Αποθήκευση δεδομένων. Με αυτήν την ενέργεια, θα αποθηκευτούν τα δεδομένα στη συλλογή σας στην τοπική συσκευή σας.

  20. Κλείσιμο εφαρμογής. Η συλλογή σας στη μνήμη θα χαθεί, συμπεριλαμβανομένων όλων των ονομάτων στοιχείων και των εικόνων, αλλά θα είναι ακόμα εκεί στο χώρο αποθήκευσης της συσκευής.

  21. Εκκίνηση της εφαρμογής ξανά. Η συλλογή στη μνήμη θα εμφανιστεί ξανά ως κενή στη συλλογή.

    Η εφαρμογή εκτελείται ξανά χωρίς προσθήκη στοιχείων.

  22. Επιλέξτε το κουμπί Φόρτωση δεδομένων. Η συλλογή θα συμπληρωθεί ξανά από τα αποθηκευμένα δεδομένα στη συσκευή σας και τα στοιχεία σας θα επιστραφούν στη συλλογή. Η συλλογή ήταν κενή πριν αυτό το κουμπί καλέσει τη συνάρτηση LoadData. Δεν χρειαζόταν να γίνει κλήση των Collect ή ClearCollect πριν τη φόρτωση των δεδομένων από το χώρο αποθήκευσης.

    Η εφαρμογή εκτελείται με τρία στοιχεία που έχουν αποκατασταθεί μετά την κλήση της συνάρτησης LoadData.

  23. Επιλέξτε ξανά το κουμπί Φόρτωση δεδομένων. Τα αποθηκευμένα δεδομένα θα προσαρτώνται στο τέλος της συλλογής και θα εμφανίζεται μια γραμμή κύλισης στη συλλογή. Αν θέλετε να τα αντικαταστήσετε αντί να τα προσαρτήσετε, χρησιμοποιήστε τη συνάρτηση Clear πρώτα για να απαλείψετε τη συλλογή πριν την κλήση της συνάρτησης LoadData.

    Η εφαρμογή εκτελείται με έξι στοιχεία που έχουν αποκατασταθεί μετά την κλήση της συνάρτησης LoadData δύο φορές.

Παράδειγμα πιο προηγμένων δυνατοτήτων για εργασία εκτός σύνδεσης

Για ένα λεπτομερές παράδειγμα, ανατρέξτε στο άρθρο σχετικά με τις απλές δυνατότητες χωρίς σύνδεση.