如何在Android应用沙箱存储下访问SQLite数据库?

问题描述 投票:1回答:1

我有一个本机应用程序,它在com.companyname.appname / databases / MyDatabase.db中生成一个SQLite数据库文件。这位于Android的内部应用程序存储中。

我需要将该应用程序迁移到Xamarin.Forms中,但是我需要访问该数据库以将其移动到另一个目录或直接读取该数据库。

问题是,使用System.Environment.SpecialFolder.Personal中所述的最高位置System.Environment.SpecialFolder.MyDocuments / documentation here仅导致com.companyname.appname / files /位置。我需要上一层访问数据库文件夹。这可能吗?

注意:我已经尝试对路径进行硬编码,并且还添加了无法正常运行并引发错误的“ ../”。

android sqlite xamarin xamarin.forms xamarin.android
1个回答
0
投票

[问题是,使用System.Environment.SpecialFolder.Personal / System.Environment.SpecialFolder.MyDocuments(此处的文档中所述的最高位置只会导致com.companyname.appname / files /位置。) >

用作文档公共存储库的Personal directory等效于MyDocuments。有关更多信息,您可以查看MS文档。 https://docs.microsoft.com/en-us/dotnet/api/system.environment.specialfolder?view=netframework-4.8

使用个人文件夹读取数据库的简单方法。

string databaseFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                string databasePath = Path.Combine(docFolder, "TodoSQLite2.db3");

将退出的数据库复制到Assets

文件夹。

enter image description here

并将Build Action

设置为AndroidAsset

enter image description here

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