2016-03-29 12 views
-1

Ich schreibe eine UWP-App, um die neue UWP-Plattform zu lernen. Die Hauptseite meiner App ist eine Liste, die der Benutzer bearbeiten kann (klassische Befehle wie Hinzufügen/Bearbeiten/Löschen + Neuordnen). Ich muss diese Elemente auf einem lokalen Speicher oder OneDrive basierend auf der Benutzerauswahl speichern, wenn der Benutzer die App verlässt und diese Elemente wiederherstellt, wenn der Benutzer zur App zurückkehrt.Ereignis zum Speichern/Lesen von Listendaten in der UWP-App

Offensichtlich sind die besten Momente, wenn wir das tun, wenn der Hauptbildschirm der App aktiviert oder deaktiviert ist. Die Frage ist: Welches Ereignis wird am besten für meinen Zweck funktionieren?

Nachdem ich einige Grundlagen der UWP-Plattform gelernt habe, sehe ich, dass die OnSuspending/OnLaunched-Ereignisse, die von der Vorlage VS2015 UWP Leere App bereitgestellt werden, keine geeigneten Ereignisse zum Speichern der Listendaten sind. Welche Ereignisse dann? OnNavigatedFrom/OnNavigatedTo habe ich in WP8 Silverlight-Apps verwendet? Oder gibt es andere Ereignisse in der neuen UWP-Plattform, die ich für meine Bedürfnisse nutzen kann?

+1

Das aussetzende Ereignis sollte das sein, nach dem Sie suchen, und wenn Sie noch etwas Arbeit haben, können Sie es erweitern (obwohl es [kleine Probleme] geben kann) (http://stackoverflow.com/q/) 36105996/2681948) in einigen Fällen). – Romasz

Antwort

0

Sie erwähnen die folgenden:

Ich sehe, dass die OnSuspending/OnLaunched Veranstaltungen der VS2015 UWP Blank App-Vorlage bereitgestellt sind nicht geeignet, Ereignisse die Listendaten zu speichern.

Was sind die Dinge, die Sie fragen, ob OnSuspending/OnLaunched nicht der richtige Weg sind, damit umzugehen?

Ich würde diese Summe:

Für Application.Suspending speichern, verwenden. Verwenden Sie ExtendedExecution bei Bedarf.

Verwenden Sie für die Last Application.OnLaunched. Erkennen Sie den PreviousExecutionState und stellen Sie ihn bei Bedarf wieder her. "Suspend and shutdown"

Zum Testen verwenden: vor

VS Suspend and shutdown

1

ich so etwas getan hat.

In meinem Szenario brauchte ich die Daten in ondrive zu speichern oder in einem lokalen Ordner (Speicherordner) speichern

ich die gleiche Frage hatte und ich löste mein Problem so etwas wie dies zu tun:

I verwendet ein Timer läuft im Hintergrund und speichert automatisch alle Änderungen alle 2 Minuten oder 5 Minuten.

Und ich habe die Möglichkeit hinzugefügt, die Daten manuell mit einer Schaltfläche zu speichern, nur für den Fall, dass der Benutzer seine Daten manuell speichern möchte.

Mit dieser Technik konnte ich verhindern, jederzeit mit OneDrive verbunden zu sein oder die Daten im lokalen Speicher jedes Mal zu speichern, wenn der Benutzer eine Eigenschaft ändert oder einen anderen Eintrag hinzufügt.

Zum Abrufen der Daten verwende ich immer OnNavigatedTo, um alle Elemente zu laden.

für nach dem Benutzer alle Daten zu speichern schließen oder lassen Sie die App Ich mag einen Background verwenden, um alle zuletzt gespeicherten Daten im lokalen Speicher mit ondrive zu synchronisieren (eigentlich ich ersetzen Sie einfach die Daten)

Mit freundlichen Grüßen

Verwandte Themen