Language: HTML | XAML

Quickstart: Local app data (XAML)

Applies to Windows and Windows Phone

Learn how to store and retrieve settings and files from the local app data store.

Roadmap: How does this topic relate to others? See:

Get the containers for the app's settings and files

Use the ApplicationData.LocalSettings property to get the settings in an ApplicationDataContainer object. Use the ApplicationData.LocalFolder property to get the files in a StorageFolder object.


Dim localSettings As Windows.Storage.ApplicationDataContainer = Windows.Storage.ApplicationData.Current.LocalSettings
Dim localFolder As Windows.Storage.StorageFolder = Windows.Storage.ApplicationData.Current.LocalFolder

The next sections use the localSettings and localFolder variables from this section.

Write data to a setting

Use the ApplicationDataContainer.Values property to access the settings in the localSettings container we got in the previous step. This example creates a setting named exampleSetting.


' Simple setting

localSettings.Values("exampleSetting") = "Hello Windows";

An ApplicationDataCompositeValue object contains settings that must be accessed atomically. This example creates a composite setting named exampleCompositeSetting and adds it to the localSettings container.


' Composite setting

Dim composite As New Windows.Storage.ApplicationDataCompositeValue
composite("intVal") = 1
composite("strVal") = "string";

localSettings.Values("exampleCompositeSetting") = composite

Call the ApplicationDataContainer.CreateContainer method to create a settings container. This example creates a settings container named exampleContainer and adds a setting named exampleSetting. The Always value from the ApplicationDataCreateDisposition enumeration indicates that the container is created if it doesn't already exist.


' Setting in a container

Dim container As Windows.Storage.ApplicationDataContainer = 
   localSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always)

If localSettings.Containers.ContainsKey("exampleContainer") Then
    localSettings.Containers("exampleContainer").Values("exampleSetting") = "Hello Windows"
End If

Read data from a setting

Use the ApplicationDataContainer.Values property to access the exampleSetting setting in the localSettings container.


' Simple setting

Dim value As Object = localSettings.Values("exampleSetting")

Use the ApplicationDataContainer.Values property to access the exampleCompositeSetting setting in the localSettings container.


' Composite setting

Dim composite As Windows.Storage.ApplicationDataCompositeValue = 
   CType(localSettings.Values("exampleCompositeSetting"), Windows.Storage.ApplicationDataCompositeValue)

If composite Is Nothing Then
   ' No data
Else
   ' Access data in composite("intVal") and composite("strVal")
End If

Use the ApplicationDataContainer.Values property to access the exampleSetting setting in the exampleContainer container.


' Setting in a container

Dim hasContainer As Boolean = localSettings.Containers.ContainsKey("exampleContainer")
Dim hasSetting As Boolean = False

If hasContainer Then
    hasSetting = localSettings.Containers("exampleContainer").Values.ContainsKey("exampleSetting")
End If

Write data to a file

Use the file APIs, such as Windows.Storage.StorageFolder.CreateFileAsync and Windows.Storage.FileIO.WriteTextAsync, to create and update a file in the local app data store. This example creates a file named dataFile.txt in the localFolder container and writes the current date and time to the file. The ReplaceExisting value from the CreationCollisionOption enumeration indicates to replace the file if it already exists.

  • Applies to Windows Phone

On Windows Phone devices, app data is backed up by default. If you don't want a file to be backed up, save it in the LocalCache subfolder of the app's local storage.


Imports Windows.Globalization.DateTimeFormatting

Private Async Sub WriteTimestamp()
   Dim formatter As DateTimeFormatter = New DateTimeFormatter("longtime")

   Dim sampleFile As StorageFile = Await localFolder.CreateFileAsync("dataFile.txt", 
       CreationCollisionOption.ReplaceExisting)
   Await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
End Sub

Read data from a file

Use the file APIs, such as Windows.Storage.StorageFolder.GetFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync, and Windows.Storage.FileIO.ReadTextAsync, to open and read a file in the local app data store. This example opens the dataFile.txt file created in the previous step and reads the date from the file. For details on loading file resources from various locations, see How to load file resources.


Private Async Function ReadTimestamp() As Task
   Try
      Dim sampleFile As StorageFile = Await localFolder.GetFileAsync("dataFile.txt")
      Dim timestamp As string = Await FileIO.ReadTtextAsync(sampleFile)
      ' Data is contained in timestamp
   Catch e1 As Exception
      ' Timestamp not found
   End Try
End Function

Delete settings when finished with them

Call the ApplicationDataContainerSettings.Remove method to delete the exampleSetting setting when you have finished with it.


localSettings.Values.Remove("exampleSetting")

Call the ApplicationDataCompositeValue.Remove method to delete the exampleCompositeSetting composite setting when you have finished with it.


localSettings.Values.Remove("exampleCompositeSetting")

Call the ApplicationDataContainer.DeleteContainer method to delete the exampleContainer settings container when you have finished with it.


localSettings.DeleteContainer("exampleContainer")

Related topics

Tasks
How to load file resources
Quickstart: Roaming app data
Quickstart: Temporary app data
Conceptual
Accessing app data with the Windows Runtime
Reference
Windows.Storage.ApplicationData
Windows.Storage.ApplicationDataCompositeValue
Windows.Storage.ApplicationDataContainer
Windows.Storage.ApplicationDataContainerSettings
Samples
Application data sample

 

 

Show:
© 2014 Microsoft