我第一次尝试使用Delphi 10(西雅图)编译Android应用程序并感到失望。它是一个使用sqlite数据库的小型测试应用程序。数据库只有一个记录很少的表(仅为测试目的而创建)。
我将所有内容(使用firedac组件)链接起来,并在Delphi IDE中显示我的数据。它也编译没有错误。该应用程序也显示在我的手机(HTC M8)上,但在启动画面后,屏幕变黑。没有 !
如果我断开FDConnection并编译,则屏幕在电话上显示OK(没有任何数据)。然后我尝试了这种方式:在表单上添加了一个按钮,我用来手动打开连接和表,但(运行时)得到一个firedac错误(无法打开数据库文件)。
我在这里缺少什么?为什么应用程序无法打开数据库?还有什么我必须做的吗?也许是微不足道的,但我之前从未做过Android应用程序。
答案 0 :(得分:0)
谷歌搜索了一段时间后,我在这里找到了相关信息
mobile tutorial
那个:
"除非您,否则您的移动设备上无法使用数据库文件 将其复制到移动设备或即时创建。"
基本上,我无法通过手机连接到PC上的现有数据库。
答案 1 :(得分:0)
移动应用在手机存储中找不到数据库。如果它不存在,您需要创建一个。这必须在您可以连接到数据库之前完成。基本上是在 BeforeConnect 事件中将数据库参数分配给 FDConnection。还要确保 FDConnection 的 OpenMode = CreateUTF8
procedure TMainDataModule.FDConnection1BeforeConnect(Sender: TObject);
begin
{$IFDEF ANDROID}
FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'mydatabase.sdb');
{$ENDIF}
end;