繁体   English   中英

在 Xamarin Android C# 中备份和恢复 SQLite 数据库到 sdcard

[英]Backup and restore SQLite database to sdcard in Xamarin Android C#

我想用 xamarin android C# 在 android 中实现备份和恢复数据库。 我的数据库是 Sqlite,我想将数据库备份到 SdCard。 任何人都可以帮助我吗? 下面的代码是一些我的代码

string folder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

    public bool createDataBase()
    {
        try
        {
            using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, "Plans.db")))
            {
                connection.CreateTable<Plan>();
                return true;
            }
        }
        catch (SQLiteException ex)
        {

            Log.Info("SQLiteEx", ex.Message);
            return false;
        }
    }

使用下面的代码

  var dbFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
  var dbFile = System.IO.Path.Combine(dbFolder, "my_test.sqlite");
  var filename = System.IO.Path.Combine(GetLoggerDir(), "my_test.sqlite");

  FileStream readStream = new FileStream(dbFile, FileMode.OpenOrCreate, FileAccess.Read);
  FileStream writeStream = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write);
  ReadWriteStream(readStream, writeStream);

GetLoggerDir() 方法

  public static string GetLoggerDir()
    {
        Java.IO.File dataDir = new Java.IO.File(Android.OS.Environment.ExternalStorageDirectory + "/" + "YourFolderName" + "/");
        if (!dataDir.Exists())
            dataDir.Mkdirs();
        return dataDir.ToString();
    }

在清单文件中添加权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

同时添加运行时权限

将在设备 sdCard 中创建一个名为“YourFolderName”的文件夹。 首先将该文件复制到设备的任何其他文件夹,然后我们可以为特定目的复制到 PC。 我希望它能完美运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM