Copying SQLite database in Xamarin Forms using C#
我实际上在开发一个小应用程序,并在我的Android设备上模仿它(Android 7.1-从沿袭系统中清晰地闪现了Android)。我的问题是我需要查看我的sqlite表,但是我找不到文件,所以我想出了一个主意。如果我看不到它,因为Android,让我们把文件复制到计算机上。
但老实说,我不知道怎么做。我找到了这个,但我的Xamarin告诉我他不懂那个剧本。
1 2 3 4 5 6 7 8 9 10 | public static void BackupDatabase(string sourceFile, string destFile) { using (SQLiteConnection source = new SQLiteConnection(String.Format("Data Source = {0}", sourceFile))) using (SQLiteConnection destination = new SQLiteConnection(String.Format("Data Source = {0}", destFile))) { source.Open(); destination.Open(); source.BackupDatabase(destination,"main","main", -1, null, -1); } } |
他不懂江户记1〔0〕……
SQLiteConnection doesn't containts definitions for Open and there is no extending method Open..... (don't you missing some directives?)
调试xamarin表单时,android应用程序在命令提示下运行以下命令以浏览数据库内容。
1 2 | C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell TC25FM:/ $ run-as com.packagename |
下面的命令将数据库内容复制到电话SD卡
1 2 3 | TC25FM:/data/data/com.packagename $ cp files/Storage.db /sdcard/data/ TC25FM:/data/data/com.packagename $ exit TC25FM:/ $ exit |
下面的命令将文件从SD卡拉到DEV计算机
1 2 | C:\Program Files (x86)\Android\android-sdk\platform-tools>adb pull sdcard/data/Storage.db |
下面的命令帮助您使用SQL查询浏览数据库
1 2 3 | C:\Program Files (x86)\Android\android-sdk\platform-tools>sqlite3 Storage.db sqlite> select * from tablename |
你可以在Mac/iPhoneSimulator上执行此操作
path = Path.Combine(path,"Database.db");
SQLiteConnection source = new SQLiteConnection(path);
您可以打印出路径并在Mac中打开它