gpt4 book ai didi

c# - 在安卓上找不到路径

转载 作者:行者123 更新时间:2023-11-30 00:54:22 24 4
gpt4 key购买 nike

我已经搜索了快一天了,这件事快把我逼疯了。

我正在尝试打开从 Windows 推送到设备的 SQLite 数据库的连接。

数据库现在位于此路径内:

Phone/Android/data/MyApp.Droid/files/MyDB.db3

我认为可以在没有“Phone/Android”的情况下阅读。

当我尝试连接到数据库时,我似乎无法找到路径。

这是我检索路径和创建连接的代码。

public SQLite.SQLiteConnection GetConnection()
{
var sqliteFile = "MyDB.db3";
var dataPath = global::Android.OS.Environment.DataDirectory.AbsolutePath;
var dataPathExtension = @"MyApp.Droid/files";

var destination = Path.Combine(dataPath, dataPathExtension, sqliteFile);

//this outputs the following: /data/MyApp.Droid/files/MyDB.db3
//When I check my phone this is exactly when I can find the file.

return new SQLite.SQliteConnection(destination);
//It can't find the path/file.
}

数据库需要位于我无需对设备进行 root 操作即可从 Windows 访问的位置。

谁能向我解释为什么找不到路径/文件,如果可能的话告诉我如何读取位置?

Note: I cannot access any 'Environment.SpecialFolder' from windows it seems as this gives me a path like: data/user/0/MyApp.Droid/files/

你的,

最佳答案

我使用这个实现:

    public SQLiteAsyncConnection GetConnection()
{
var fileName = "DatabaseName.db3";
var documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
var path = Path.Combine(documentsPath, fileName);

var connection = new SQLiteAsyncConnection(path);

return connection;
}

然后我将使用 Android Device Monitor 和里面的 File Explorer 抓取 .db3 文件。然后,您可以使用 http://sqlitebrowser.org/ 打开该 .db3 文件或者其他支持 SQLite 的浏览器。 请注意:在模拟器上最简单,因为如果没有 root,从物理设备中提取文件会非常麻烦。

  1. 打开 工具 -> Android -> Android 设备监视器:

enter image description here

  1. 调试模式运行您的应用
  2. Devices 部分选择您的设备:

enter image description here

  1. 通过 Save Icondata/data/com.mypackage.name/files 中提取您的 .db3 文件:

enter image description here

  1. 在 SQLite 浏览器中打开 .db3 文件

enter image description here

关于c# - 在安卓上找不到路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40426938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com