Zugreifen auf App-Daten mit der Windows-Runtime (Windows Store-Apps)

App-Daten sind änderbare Daten, die für eine bestimmte App spezifisch sind. Dazu zählen der Laufzeitstatus, die Benutzereinstellungen und weitere Einstellungen. App-Daten werden erstellt, gelesen, aktualisiert und gelöscht, wenn die betreffende App ausgeführt wird.

Wir empfehlen, bei Desktop-Apps zum Speichern der Programmeinstellungen die Registrierung und zum Speichern der Programmdateien den Ordner Program Files zu verwenden. Darüber hinaus sollten Windows Store-Apps Einstellungen und Dateien für die jeweilige App und den konkreten Benutzer in App-Datenspeichern speichern. Das System verwaltet die Datenspeicher für eine App und stellt auf diese Weise sicher, dass diese gegenüber anderen Apps und Benutzern isoliert sind. Das System behält außerdem den Inhalt dieser Datenspeicher bei, wenn der Benutzer ein App-Update installiert, und entfernt ihren Inhalt vollständig, wenn die App deinstalliert wird.

Das Beispiel für Anwendungsdaten zeigt, wie Sie die App-Daten-APIs der Windows-Runtime verwenden können, um spezifische Daten für jeden Benutzer und jede Windows Store-App zu speichern und abzurufen.

Wichtiger Hinweis zu App-Daten:  Die Lebensdauer der App-Daten ist an die Lebensdauer der App gebunden. Wenn die App entfernt wird, gehen auch alle App-Daten verloren. App-Daten sollten nicht zum Speichern von Benutzerdaten oder anderen Daten verwendet werden, die Benutzer als wertvoll und unersetzlich betrachten. Zum Speichern dieser Art von Informationen sollten die Bibliotheken des Benutzers und OneDrive verwendet werden. App-Daten eignen sich ideal zum Speichern von App-spezifischen Benutzereinstellungen, Einstellungen und Favoriten.

App-Datenspeicher

Bei der Installation einer App weist das System der App eigene, benutzerspezifische Datenspeicher für die App-Daten wie Einstellungen und Dateien zu. Wo sich diese Daten befinden, und in welcher Form sie vorliegen, ist für Sie nicht von Belang, da das System für die Verwaltung des physischen Speichers zuständig ist. Verwenden Sie einfach die App-Daten-API, um komfortabel mit App-Daten zu arbeiten.

Es gibt die folgenden Datenspeicher:

Lokal

Permanente Daten, die ausschließlich auf dem aktuellen Gerät vorhanden sind.

Roaming

Daten, die auf allen Geräten vorhanden sind, auf denen der Benutzer die App installiert hat.

Temporär

Daten, die jederzeit vom System entfernt werden können.

Mit dem Entfernen einer App werden diese Datenspeicher gelöscht.

Optional können Sie die App-Daten für Ihre App mit einer Versionsnummer versehen. In diesem Fall können Sie neue Versionen der betreffenden App erstellen, mit denen das Format der App-Daten geändert wird, ohne dass es dadurch zu Kompatibilitätsproblemen mit der Vorgängerversion der App kommt. Die App prüft die Version der App-Daten im Dateispeicher. Handelt es sich um eine niedrigere Version als erwartet, aktualisiert die App sowohl die Anwendungsdaten auf das neue Format als auch die die Version. Weitere Informationen finden Sie in den Artikeln zur Application.Version-Eigenschaft und zur ApplicationData.SetVersionAsync-Methode.

App-Einstellungen

Einstellungen im App-Datenspeicher werden in der Registrierung gespeichert. Bei Verwendung der App-Daten-API ist der Zugriff auf die Registrierung transparent. Jede App besitzt in ihrem App-Datenspeicher einen Stammcontainer für Einstellungen. Apps können dem Stammcontainer Einstellungen und neue Container hinzufügen. Erstellen Sie neue Container, um die Einstellungen strukturiert zu speichern. Beachten Sie, dass Container in bis zu 32 Ebenen geschachtelt werden können, und zwar ohne Einschränkungen für die Breite der Struktur.

Verwenden Sie Verbundeinstellungen, um atomische Aktualisierungen voneinander abhängiger Einstellungen problemlos behandeln zu können. Das System stellt die Integrität von Verbundeinstellungen bei gleichzeitigem Zugriff und Roaming sicher. Verbundeinstellungen sind für kleine Datenmengen vorgesehen. Bei Verwendung für große Datasets kann die Leistung beeinträchtigt werden.

App-Einstellungen können im lokalen Speicher oder im Roamingspeicher gespeichert sein. Einstellungen, die eine App dem lokalen Datenspeicher hinzufügt, sind nur auf dem lokalen Gerät vorhanden. Das System synchronisiert automatisch alle Einstellungen, die die App dem Roamingdatenspeicher hinzufügt, auf allen Geräten, auf denen die App installiert ist.

Die meisten Windows-Runtime-Datentypen werden für App-Einstellungen unterstützt:

Beachten Sie, dass es keinen binären Datentyp gibt. Verwenden Sie eine App-Datei, wenn Sie Binärdaten speichern müssen.

Andere Objekttypen können App-Daten nicht direkt zugewiesen werden. Sie können Daten als einen der unterstützten Datentypen serialisieren. So ist es z. B. möglich, Ihre Daten als JSON zu serialisieren und als Zeichenfolge zu speichern, die Serialisierung müssen Sie aber selbst durchführen.

Das System stellt sicher, dass die Größe der geschriebenen Daten der Größe des Datentyps entspricht. Das System überprüft die Daten nicht. Sie müssen daher selbst prüfen, ob die Daten beim erneuten Einlesen seit dem Schreiben geändert wurden.

App-Dateien

Dateien im App-Datenspeicher werden im Dateisystem gespeichert. Apps können Dateien im App-Datenspeicher genauso wie den AppData-Teil des Benutzerprofils in Windows 7 verwenden. Jede App verfügt in ihrem jeweiligen App-Datenspeicher über systemdefinierte Stammverzeichnisse: eines für lokale Dateien, eines für Roamingdateien und eines für temporäre Dateien. Apps können dem Stammverzeichnis neue Dateien und Verzeichnisse hinzufügen. Erstellen Sie neue Verzeichnisse, um Dateien strukturiert zu speichern. Beachten Sie, dass App-Datenspeicher in bis zu 32 Ebenen geschachtelt werden können, und zwar ohne Einschränkungen für die Breite der Struktur.

App-Dateien können im lokalen Speicher oder im Roamingspeicher gespeichert sein. Dateien, die eine App dem lokalen Datenspeicher hinzufügt, sind nur auf dem lokalen Gerät vorhanden. Das System synchronisiert automatisch alle Dateien, die die App dem Roamingdatenspeicher hinzufügt, auf allen Geräten, auf denen die App installiert ist.

Lokale App-Daten

Lokale App-Daten sollten für alle Informationen verwendet werden, die zwischen App-Sitzungen beibehalten werden müssen und die aufgrund von Typ oder Größe nicht als App-Roamingdaten geeignet sind. Daten, die auf anderen Geräten nicht verwendet werden können, sollten ebenfalls dort gespeichert werden. Es gibt keine allgemeinen Größenbeschränkungen für lokal gespeicherte Daten. Der Speicherort ist über die localFolder-Eigenschaft verfügbar. Verwenden Sie den lokalen App-Datenspeicher für Daten, für die ein Roaming nicht sinnvoll ist, sowie für große Datasets.

Beispielcode finden Sie in folgenden Artikeln:

App-Roamingdaten

Wenn Sie für eine App Roamingdaten verwenden, können Benutzer die App-Daten der App problemlos für mehrere Geräte synchronisieren. Installiert ein Benutzer eine App auf mehreren Geräten, sorgt Windows dafür, dass die App-Daten synchronisiert sind, und verringert so den Einrichtungsaufwand für die App auf weiteren Geräten. Mittels Roaming können Benutzer außerdem eine Aufgabe (beispielsweise das Erstellen einer Liste) an genau dem Punkt fortsetzen, an dem sie die Aufgabe auf einem anderen Gerät unterbrochen haben. Von Windows werden Roamingdaten beim Aktualisieren in die Cloud repliziert und die Daten mit den anderen Geräten synchronisiert, auf denen die App installiert ist.

Von Windows wird für jede App die Menge der App-Daten für das Roaming begrenzt. Informationen finden Sie unter ApplicationData.RoamingStorageQuota | roamingStorageQuota. Erreicht die App diese Grenze, werden keine App-Daten der App mehr in die Cloud repliziert, bis die Gesamtmenge der App-Roamingdaten wieder unter dem Grenzwert liegt. Aus diesem Grund ist es empfehlenswert, Roamingdaten nur für Benutzereinstellungen, Links und kleine Datendateien zu verwenden.

Typischerweise rechnen Apps nicht damit, dass ihre Daten geändert werden. Roaminganwendungsdaten können sich jedoch jederzeit ändern. Apps sollten sich daher für die Behandlung des DataChanged | datachanged-Ereignisses registrieren, das bei Änderungen an Roaminganwendungsdaten eintritt.

Wenn die App-Daten auf einem Gerät auf eine neue Version aktualisiert werden, weil der Benutzer eine neuere Version der App installiert hat, werden die App-Daten in die Cloud kopiert. Das System aktualisiert die App-Daten nicht auf anderen Geräten, auf denen die App installiert ist, bis die App auch auf diesen Geräten aktualisiert wurde.

Roamingdaten für Apps sind in der Cloud verfügbar, solange der Benutzer innerhalb des erforderlichen Zeitintervalls mit einem Gerät darauf zugreift. Führt ein Benutzer eine App für eine dieses Zeitintervall überschreitende Spanne nicht aus, werden die Roamingdaten in der Cloud gelöscht. Bei der Deinstallation einer App werden die entsprechenden Roamingdaten in der Cloud nicht automatisch gelöscht, sondern beibehalten. Installiert der Benutzer die App innerhalb des Zeitintervalls wieder, werden die Roamingdaten über die Cloud synchronisiert. Die aktuelle Richtlinie gibt ein Zeitintervall von 30 Tagen an. Der Speicherort ist über die roamingFolder-Eigenschaft verfügbar.

Windows speichert App-Daten auf einem Server, wenn die Bedingungen es zulassen. Eine sofortige Synchronisierung wird nicht garantiert. In Szenarien, in denen Benutzer offline sind oder mit einem Netzwerk mit hoher Latenz verbunden sind, kann das Roaming erheblich verzögert sein. Bei wichtigen, zeitlich bedingten Einstellungen steht eine spezielle Einstellungskomponente für hohe Priorität zur Verfügung, die häufigere Updates bereitstellt. Sie ist auf eine bestimmte Einstellungskomponente beschränkt, die “HighPriority” genannt werden muss. Es kann sich um eine Zusammensetzung handeln, die Gesamtgröße ist jedoch auf 8 KB begrenzt. Diese Begrenzung und die Einstellungskomponente oder Einstellungszusammensetzung wird als normale Einstellungskomponente oder Zusammensetzung behandelt, wenn die Begrenzung überschritten wird.

Beispielcode finden Sie in folgenden Artikeln:

Entsprechende Richtlinien finden Sie unter Richtlinien für das Roaming von App-Daten.

Temporäre App-Daten

Der temporäre App-Datenspeicher funktioniert wie ein Cache. Für diese Dateien erfolgt kein Roaming, und sie können jederzeit gelöscht werden. Daten, die an diesem Speicherort gespeichert werden, können von der Aufgabe zur Systemverwaltung jederzeit automatisch gelöscht werden. Benutzer können Dateien im temporären Datenspeicher auch mit der Datenträgerbereinigung löschen. Temporäre App-Daten können zum Speichern temporärer Informationen während einer App-Sitzung verwendet werden. Es gibt jedoch keine Garantie dafür, dass diese Daten über die App-Sitzung hinaus beibehalten werden, da der verwendete Speicherplatz ggf. vom System zurückgefordert wird. Der Speicherort ist über die temporaryFolder-Eigenschaft verfügbar.

Beispielcode finden Sie in folgenden Artikeln:

Programmierschnittstellen für App-Daten

Verwandte Themen

Richtlinien
Richtlinien für das Roaming von App-Daten
Richtlinien für App-Einstellungen
Beispiele
Beispiel für App-Einstellungen
Beispiel für Anwendungsdaten

 

 

Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.