在Android上使用Delphi应用程序部署SQLite数据库

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

我在将 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 下编译我的应用程序时,一切都工作得很好。老实说,我不知道我做错了什么,因为我找到的每个教程都只提到了部署管理器和事件代码,我按照我所展示的方式实现了它们。

预先感谢您的帮助。

android sql sqlite delphi firemonkey
1个回答
0
投票

我申请了“TPath.GetHomePath”,并且应用程序启动了。默认情况下,资源“assets/internal”将数据库放置在该目录中。从外部无法访问它。不幸的是,我不知道如何将部署部署到不同但公共或共享的目录。 问候AK

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