Windows Phone 8.1应用程序中的预定义数据库

时间:2014-10-05 13:09:02

标签: sqlite visual-studio-2013 windows-phone-8.1

预定义数据库(.db)应该添加以及如何在Windows Phone 8.1应用程序中使用它? 我没有在我的应用程序中使用Silverlight。 我试图做这样的事情

public MainPage()
    {
        this.InitializeComponent();
        this.NavigationCacheMode = NavigationCacheMode.Required;
        CopyDatabase();
    }

private void CopyDatabase()
    {

        IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication();
        String DBFile = "myDB.sqlite";
        if (!ISF.FileExists(DBFile)) CopyFromContentToStorage(ISF, "Assets/myDB.sqlite", DBFile);

    }

它显示无法找到名称空间名称IsolatedStorageFile。 我在Windows-phone-8.0的示例数据库应用程序中找到了这些代码,我试图在Windows-phone-8.1(没有Silverlight)中做同样的事情。

1 个答案:

答案 0 :(得分:0)

我看到您尝试将数据库从复制到 IsolatedStorage ,并且您的目标是 WinRT 。示例代码可以像这样llok:

private async Task<bool> CopyDatabase()
{
   StorageFolder packageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
   StorageFolder localFolder = ApplicationData.Current.LocalFolder;
   StorageFile file = await packageFolder.GetFileAsync("Assets/myDB.sqlite");
   await file.CopyAsync(localFolder);
   return true;
}

我已经从头脑中编写了这段代码,但应该可以帮助您找到解决方案。 Uri计划也可以实现上述目标:

StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Assets/myDB.sqlite"));

有关Data and Files you will find at MSDN.

的更多信息