SQLite支持通用Windows应用程序

时间:2016-01-12 12:30:27

标签: windows sqlite win-universal-app xamarin.forms

我使用Xamarin Forms开发应用程序并使用SQlite存储用户详细信息。刚开始使用Windows(Windows 10)。 SQLite是否支持UWP,我已经提到了一些网站,并且它说它确实支持。但是当我尝试时,连接始终为空。

我正在使用的代码:

{{1}}

非常感谢任何帮助或建议。

注意:我已经安装了SQLite.Net-PCL并添加了对SQLite for Universal App Platform的引用

1 个答案:

答案 0 :(得分:0)

在App.cs中,我有一个名为:

的静态变量
public static LocalDatabase Database { get; private set; }

public App()
{   
    Database = new LocalDatabase();...
}

然后,您可以在控制器的任何位置访问您的数据库类,如:App.Database

作为参考,LocalDatabase类将包含:

public class LocalDatabase
{
    static readonly object locker = new object ();

    static SQLiteConnection database;

    string DatabasePath {
        get {
            const string sqliteFilename = "LocalDatabaseSQLite.db3";
#if __IOS__
            string documentsPath = Environment.GetFolderPath (Environment.SpecialFolder.Personal); // Documents folder
            string libraryPath = Path.Combine (documentsPath, "..", "Library"); // Library folder
            var path = Path.Combine (libraryPath, sqliteFilename);
#else
#if __ANDROID__
            string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal); // Documents folder
            var path = Path.Combine(documentsPath, sqliteFilename);
#else
            // WinPhone
            var path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, sqliteFilename); ;
#endif
#endif
            return path;
        }
    }

    public LocalDatabase ()
    {
        database = new SQLiteConnection (DatabasePath);

        database.CreateTable<UserSQLModel> ();

        //All your create tables...
    }
}