Xamarin.forms 其中SQLite DB在创建后存储在桌面中

Xamarin.forms 其中SQLite DB在创建后存储在桌面中,xamarin.forms,Xamarin.forms,我在Visual Studio 2017中以Xamarin表单创建了一个SQLite数据库,代码如下 try { sqliteconnection = DependencyService.Get<ISQLite>().GetConnection(); sqliteconnection.CreateTable<MyClassModel>(); }

我在Visual Studio 2017中以Xamarin表单创建了一个SQLite数据库,代码如下

try
            {
                sqliteconnection = DependencyService.Get<ISQLite>().GetConnection();
                sqliteconnection.CreateTable<MyClassModel>();
            }
            catch(Exception ex)
            {
                string strErr = ex.ToString();
            }
我已将数据添加到表中。如何获取数据库以检查是否有数据

我在电脑上使用以下方法:C:\Users\user name\AppData\Local进行检查

但是找不到数据库


请提供帮助。

SQLite数据库存储在手机上,而不是您的pc上。如果您的手机没有根目录,则无法直接访问它。要在手机上访问它,您必须获得root访问权限,然后可以在data/data//files/

要查看数据库模式,您可以从设备上拔出数据库,并使用SQLite管理器工具查看模式和浏览数据。一个简单的方法是在Android emulator中启动应用程序。当模拟器仍在运行时,打开Android SDK命令提示符。在Xamarin Studio和Visual Studio中,有一个快捷方式可以从“工具”菜单启动此功能。在命令提示下,键入:adb pull[完整路径和数据库文件名]。

调试应用程序时,可以通过检查SQLiteDatabase对象的path属性来获取路径

例如: adb pull/data/data//databases/


数据库将被复制到您机器上的Android SDK文件夹中。要查看复制到您的计算机上的SQLite数据库,如果您使用的是Visual Studio,则可以使用类似于SQLite数据库浏览器的工具:,您可以安装SQLite工具箱扩展名,您可以在Visual Studio IDE中使用该扩展名来管理SQLite数据库:

我不确定您的意思,但创建该扩展名不会将文件放入pathI deploy Xamarin forms app从VS2017部署到Droid phone。上述代码是否会为VS2017在Droid phone中创建一个DB,并在Desktop中创建一个DB副本?在哪里可以找到创建的数据库。此代码是从手机上运行的,因此任何
GetFolderPath
都将在手机上返回值,而不是在您的PC上。在这种情况下,我可以从何处以及如何获得Droid phone中创建的SQLite DB的副本?上面的代码可以吗?
System.Environment.SpecialFolder.Personal
此文件夹是其他文件夹。如果要将其保存在查找位置,则
LocalApplicationData
应为非
Personal
的数据。但是我要说的是打印、记录或调试路径,您将看到它应该在哪里。如何获得root访问权限来查看数据/数据//文件/?我迷路了!我看Android SDK文件夹中的程序文件(x86)要看哪个文件夹?
public SQLite.Net.SQLiteConnection GetConnection()
        {
            string documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

            // Documents folder  
            var path = Path.Combine(documentsPath, DatabaseHelper.DbFileName);
            var plat = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
            var conn = new SQLite.Net.SQLiteConnection(plat, path);

            // Return the database connection  
            return conn;
        }