我在将 SQLite 数据库添加到用 Delphi 编写的 Android 应用程序中时遇到一些问题。首先,我已将数据库文件添加到项目管理器中,并在部署管理器中将其
Remote Path
更改为 .\assets\internal\
。然后我将以下代码添加到 FDConnection
BeforeConnect
事件中。代码是:
begin
{$IFDEF ANDROID}
MissiledbConnection.Params.Values['ColumnMetadataSupported'] := 'False';
MissiledbConnection.Params.Values['Database'] :=
TPath.Combine(TPath.GetDocumentsPath, 'MissileDB.db');
{$ENDIF}
end;
尽管如此,我在尝试编译 Android 版本的应用程序时仍然遇到此错误:
[FireDAC][Stan][Def]-254. Definition [MissileDB.db] is not found in []
当我在 Windows 下编译我的应用程序时,一切都工作得很好。老实说,我不知道我做错了什么,因为我找到的每个教程都只提到了部署管理器和事件代码,我按照我所展示的方式实现了它们。
预先感谢您的帮助。
我申请了“TPath.GetHomePath”,并且应用程序启动了。默认情况下,资源“assets/internal”将数据库放置在该目录中。从外部无法访问它。不幸的是,我不知道如何将部署部署到不同但公共或共享的目录。 问候AK