Schnellstart: Lokale App-Daten (HTM)
[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]
Hier erfahren Sie, wie Sie Einstellungen und Dateien im lokalen Speicher für App-Daten ablegen und von dort abrufen.
Abrufen der Container für die Einstellungen und Dateien der App
Verwenden Sie die ApplicationData.localSettings-Eigenschaft, um die Einstellungen aus einem ApplicationDataContainer-Objekt abzurufen. Verwenden Sie die ApplicationData.localFolder-Eigenschaft, um die Dateien aus einem StorageFolder-Objekt abzurufen.
var localSettings = applicationData.localSettings;
var localFolder = applicationData.localFolder;
In den nächsten Schritten werden die Variablen localSettings
und localFolder
aus diesem Schritt verwendet.
Schreiben von Daten in eine Einstellung
Verwenden Sie die ApplicationDataContainer.values-Eigenschaft, um auf die Einstellungen im Container localSettings
zuzugreifen, den wir im vorherigen Schritt abgerufen haben. In diesem Beispiel wird eine Einstellung namens exampleSetting
erstellt.
// Simple setting
localSettings.values["exampleSetting"] = "Hello Windows";
Ein ApplicationDataCompositeValue-Objekt enthält Einstellungen, auf die atomisch zugegriffen werden muss. In diesem Beispiel wird eine Verbundeinstellung namens exampleCompositeSetting
erstellt und dem Container localSettings
hinzugefügt.
// Composite setting
var composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";
localSettings.values["exampleCompositeSetting"] = composite;
Rufen Sie die ApplicationDataContainer.CreateContainer-Methode auf, um einen Einstellungscontainer zu erstellen. In diesem Beispiel wird ein Einstellungscontainer namens exampleContainer
erstellt und eine Einstellung namens exampleSetting
hinzugefügt. Der Wert Always aus der ApplicationDataCreateDisposition-Enumeration gibt an, dass der Container erstellt wird, sofern er noch nicht vorhanden ist.
// Setting in a container
var container = localSettings.createContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.always);
if (localSettings.containers.hasKey("exampleContainer"))
{
localSettings.containers.lookup("exampleContainer").values["exampleSetting"] = "Hello Windows";
}
Lesen von Daten aus einer Einstellung
Verwenden Sie die ApplicationDataContainer.values-Eigenschaft, um auf die Einstellung exampleSetting
im Container localSettings
zuzugreifen.
// Simple setting
var value = localSettings.values["exampleSetting"];
if (!value)
{
// No data
}
else
{
// Access data in value
}
Verwenden Sie die ApplicationDataContainer.values-Eigenschaft, um auf die Einstellung exampleCompositeSetting
im Container localSettings
zuzugreifen.
// Composite setting
var composite = localSettings.values["exampleCompositeSetting"];
if (!composite)
{
// No data
}
else
{
// Access data in composite["intVal"] and composite["strVal"]
}
Verwenden Sie die ApplicationDataContainer.values-Eigenschaft, um auf die Einstellung exampleSetting
im Container exampleContainer
zuzugreifen.
// Setting in a container
var hasContainer = localSettings.containers.hasKey("exampleContainer");
if (hasContainer)
{
// Access data in localSettings.containers.lookup("exampleContainer").values.hasKey("exampleSetting");
}
Schreiben von Daten in eine Datei
Verwenden Sie die Datei-APIs (beispielsweise Windows.Storage.StorageFolder.createFileAsync und Windows.Storage.FileIO.writeTextAsync), um eine Datei im lokalen App-Datenspeicher zu erstellen und zu aktualisieren. In diesem Beispiel wird im Container localFolder
die Datei dataFile.txt
erstellt, in die das aktuelle Datum und die Uhrzeit geschrieben werden. Der Wert replaceExisting aus der CreationCollisionOption-Enumeration gibt an, dass die Datei ersetzt werden soll, falls sie bereits vorhanden ist.
function writeTimestamp() {
localFolder.createFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.replaceExisting)
.then(function (sampleFile) {
var formatter = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");
var timestamp = formatter.format(new Date());
return Windows.Storage.FileIO.writeTextAsync(sampleFile, timestamp);
}).done(function () {
});
}
Lesen von Daten aus einer Datei
Verwenden Sie die Datei-APIs (beispielsweise Windows.Storage.StorageFolder.getFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync und Windows.Storage.FileIO.readTextAsync), um eine Datei im lokalen App-Datenspeicher zu öffnen und zu lesen. In diesem Beispiel wird die im vorherigen Schritt erstellte Datei dataFile.txt
geöffnet und das Datum aus der Datei gelesen. Der Wert openIfExists aus der CreationCollisionOption-Aufzählung gibt an, dass die Datei vorhanden sein muss. Einzelheiten zum Laden von Dateiressourcen aus verschiedenen Speicherorten finden Sie unter So wird's gemacht: Laden von Dateiressourcen.
function readTimestamp() {
localFolder.getFileAsync("dataFile.txt")
.then(function (sampleFile) {
return Windows.Storage.FileIO.readTextAsync(sampleFile);
}).done(function (timestamp) {
// Data is contained in timestamp
}, function () {
// Timestamp not found
});
}
Löschen nicht mehr benötigter Einstellungen
Rufen Sie die ApplicationDataContainerSettings.remove-Methode auf, um die Einstellung exampleSetting
zu löschen, wenn Sie sie nicht mehr benötigen.
// Simple setting
localSettings.values.remove("exampleSetting");
Rufen Sie die ApplicationDataCompositeValue.remove-Methode auf, um die Verbundeinstellung exampleCompositeSetting
zu löschen, wenn Sie sie nicht mehr benötigen.
// Delete composite setting
localSettings.values.remove("exampleCompositeSetting");
Rufen Sie die ApplicationDataContainer.deleteContainer-Methode auf, um den Einstellungscontainer exampleContainer
zu löschen, wenn Sie ihn nicht mehr benötigen.
// Delete container
localSettings.deleteContainer("exampleContainer");
Verwandte Themen
Aufgabe
So wird's gemacht: Laden von Dateiressourcen
Schnellstart: Roaming von App-Daten
Schnellstart: Temporäre App-Daten
Konzept
Zugreifen auf App-Daten mit der Windows-Runtime
Referenz
Windows.Storage.ApplicationData
Windows.Storage.ApplicationDataCompositeValue
Windows.Storage.ApplicationDataContainer
Windows.Storage.ApplicationDataContainerSettings
Beispiele