我有一个本机应用程序,它在com.companyname.appname / databases / MyDatabase.db中生成一个SQLite数据库文件。这位于Android的内部应用程序存储中。
我需要将该应用程序迁移到Xamarin.Forms中,但是我需要访问该数据库以将其移动到另一个目录或直接读取该数据库。
问题是,使用System.Environment.SpecialFolder.Personal
中所述的最高位置System.Environment.SpecialFolder.MyDocuments
/ documentation here仅导致com.companyname.appname / files /位置。我需要上一层访问数据库文件夹。这可能吗?
注意:我已经尝试对路径进行硬编码,并且还添加了无法正常运行并引发错误的“ ../”。
[问题是,使用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
并将Build Action
设置为AndroidAsset。