不确定如何使用IsolatedStorage

时间:2012-03-07 19:31:19

标签: vb.net visual-studio windows-phone-7

我想使用Visual Basic为Windows Phone 7创建一个笔记应用程序。我已经阅读了一些教程,但它们都适合C#而不是VB。基本上,我有一个主页面和一个页面来添加注释。用户在添加备注页面上键入备注后,该备注的标题将显示在主页面上。我还希望用户能够选择该标题,它将显示注释。我做了一些研究,我知道我需要使用独立存储(不确定如何在VB中实现它)来保存笔记。我想我还需要一个能够存储笔记标题的列表框。我不是要求别人给我代码,我要求在VB中有关于此的一些教程或任何关于实现这一点的指针或一般帮助。感谢

3 个答案:

答案 0 :(得分:0)

MSDN上的所有代码示例都可以在C#和VB中使用。见http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx

模型 - 视图 - 视图模型示例(在常见应用程序开发任务下)可能是您启动的好地方。
下载VB代码的链接是http://go.microsoft.com/fwlink/?LinkId=229339

答案 1 :(得分:0)

如果您想将笔记写入手机(而不是某处的云端),则需要使用IsolatedStorage。这是一个博客条目的链接,它有一个类(在Visual Basic中),它有一些辅助方法,可以为VB.Net传统方法(如ReadAllText,WriteAllText)提供一些类似的方法。它可能是你想要的文件系统读/写(但至少可以让你开始使用独立存储)。

http://www.blakepell.com/2012-03-07-wp7-file-helpers

答案 2 :(得分:0)

隔离存储

隔离存储用于在Windows Phone上存储本地文件,如文本文件,图像,视频等。每个应用程序都分配有一个特定的独立存储空间,并且仅适用于该应用程序。没有其他应用能够访问您的应用隔离存储。

可以从这里阅读很多 All about Windows Phone Isolated Storage

在开始之前,您需要将IsolatedStorage导入您的项目。

Imports System.IO
Imports System.IO.IsolatedStorage

创建文件夹

这会在您的应用隔离存储中创建一个目录。它将被称为“NewFolder”

Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
myIsolatedStorage.CreateDirectory("NewFolder")

您可以在文件夹内的文件夹中创建文件夹,如下所示:

myIsolatedStorage.CreateDirectory("NewFolder/NewFolder1/NewFolder2/NewFolder3")

删除文件夹:

myIsolatedStorage.DeleteDirectory("NewFolder")

创建和删除文件夹时的一个好习惯是在文件夹创建方法周围添加Try Catch语句,这样如果出现异常,您或将通知用户出现的原因,例如:因此不能删除不存在的文件夹或存在的文件夹需要更换等。下面的示例显示了使用Try Catch语句创建文件夹的基本功能。

Public Sub CreateDirectory(directoryName As String)
Try
    Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
    If Not String.IsNullOrEmpty(directoryName) AndAlso Not myIsolatedStorage.DirectoryExists(directoryName) Then
        myIsolatedStorage.CreateDirectory(directoryName)
    End If
        ' handle the exception
Catch ex As Exception
End Try
End Sub

要使用它,您可以:

Me.CreateDirectory("NewFolder")

删除方法:

Public Sub DeleteDirectory(directoryName As String)
Try
    Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
    If Not String.IsNullOrEmpty(directoryName) AndAlso myIsolatedStorage.DirectoryExists(directoryName) Then
        myIsolatedStorage.DeleteDirectory(directoryName)
    End If
        ' handle the exception
Catch ex As Exception
End Try
End Sub

使用它:

Me.DeleteDirectory("NewFolder")

创建文件

您可以像这样创建一个空文件:

Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
Dim writeFile As New StreamWriter(New IsolatedStorageFileStream("NewFolder\SomeFile.txt", FileMode.CreateNew, myIsolatedStorage))

要删除文件:

myIsolatedStorage.DeleteFile("NewFolder/SomeFile.txt")

与以前一样,创建文件时的一个好习惯是始终检查您要写入或删除的目录是否存在。

您可以执行以下操作:

Try
Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
Dim writeFile As StreamWriter
If Not myIsolatedStorage.DirectoryExists("NewFolder") Then
    myIsolatedStorage.CreateDirectory("NewFolder")
    writeFile = New StreamWriter(New IsolatedStorageFileStream("NewFolder\SomeFile.txt", FileMode.CreateNew, myIsolatedStorage))
Else
    writeFile = New StreamWriter(New IsolatedStorageFileStream("NewFolder\SomeFile.txt", FileMode.CreateNew, myIsolatedStorage))

End If
    ' do something with exception
Catch ex As Exception
End Try

保存和阅读文本文件

要使用您的内容保存文本文件,您可以执行以下操作:

Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
Using writeFile As New StreamWriter(New IsolatedStorageFileStream("myNote.txt", FileMode.Create, FileAccess.Write, myIsolatedStorage))
Dim someTextData As String = "This is some text data to be saved in a new text file in the IsolatedStorage!"
writeFile.WriteLine("note data")
writeFile.Close()
End Using

阅读文本文件的内容:

Dim myIsolatedStorage As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
Dim fileStream As IsolatedStorageFileStream = myIsolatedStorage.OpenFile("myFile.txt", FileMode.Open, FileAccess.Read)
Using reader As New StreamReader(fileStream)
TextBlock.Text = reader.ReadLine()
End Using

我已经为您提供了Windows Phone独立存储的一些基础知识以及如何使用它,但我高度建议您在 Here上阅读更多相关内容