如何在xamarin.forms中备份sqlite数据库

问题描述 投票:0回答:2

我有一个按钮将我的本地数据库(SQLITE)备份到另一个路径,以便我可以通过电子邮件将文件发送给我。如何将SQLite数据复制到我的示例下载文件夹?

这是我的备份按钮的代码:

    private void BtnBackup_Clicked(object sender, EventArgs e)
    {
        string fileName = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "backend.db3");
        string backupfile = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), "backup.db3");
        File.Copy(fileName, backupfile, true);
    }

我可以检查数据是否已被复制,问题是当我转到目录时没有显示文件

xamarin xamarin.forms xamarin.android
2个回答
0
投票

您可以从apk中提取.db文件。要首先执行此操作,您需要从应用程序创建备份。使用USB连接设备并使用adb通过以下命令备份您的应用:adb backup -f~ / yourapp.ab -noapk com.yourname.yourapp

这将在您的主目录中创建一个.ab(Android备份)文件。您可以使用另一个命令从.ab文件中提取.db文件:

dd if = data.ab bs = 1 skip = 24 | openssl zlib -d | tar -xvf -


0
投票

如果您在Android设备上拥有自己的数据库 - 使用Android Studio(如果您在PC上拥有它)可能非常简单:

  1. 打开Android Studio,单击View-> Tool Windows - > Device File Explorer;
  2. 在打开的窗口中,转到您的应用位置并找到文件* .db qazxsw poi
  3. 点击“另存为”并保存到您的电脑。

此外,我可以推荐一个非常有用的应用程序来检查您的sqlite数据库 - enter image description here。试试吧!

© www.soinside.com 2019 - 2024. All rights reserved.