【发布时间】:2019-10-17 20:27:56
【问题描述】:
我正在使用 Visual Studio 和 xamarin,但我无法访问数据目录来检索我的数据库以供检查我正在通过以下方式将数据库保存到设备以进行写访问。
我使用的是标准的 stk 7 andriod 手机,它没有植根,也不能植根于我的测试设备,但在模拟过程中,我使用的是带有 Visual Studio 和 xamarin 的 android 模拟器
public async Task<Boolean> copydb()
{
DatabasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), DatabaseName);
string sdCardPath = @"/sdcard/" + DatabaseName;
if (!File.Exists(DatabasePath))
{
using (var assetStream = await Xamarin.Essentials.FileSystem.OpenAppPackageFileAsync(DatabaseName))
using (var fileStream = new FileStream(DatabasePath, FileMode.Create, FileAccess.Write))
{
assetStream.CopyTo(fileStream);
}
}
}
正如您在下面看到的,我上面所说的路径是个人文件夹,即使在模拟器上,我也无法使用安卓监视器导航到数据目录。
我无法点击显示器右侧的数据文件夹,我可以访问其他目录,只是没有数据。
我正在使用 xamarin 表单和 c#
public FuelStockDatabase()
{
Task.Run(() => this.copydb()).Wait();
dataTransfer = new FuelStockTakeDT();
DatabaseName = "FuelStockApp31.db";
DatabasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), DatabaseName);
}
【问题讨论】:
-
将数据库保存/复制到应用程序的“外部数据”目录(stackoverflow.com/questions/54126671/…),您将能够从该位置
adb pull文件或使用根模拟器图像(即那些未安装 Google 应用) -
@SushiHangover 好的,我明白了,但是我如何访问我在表单应用程序中从我的 xaml 创建的外部数据库路径
-
@SushiHangover 我最终使用 xamrian 设置为 c-sharpcorner.com/article/…
标签: c# xamarin xamarin.forms xamarin.android