delphi android黑屏(无法连接数据库)

时间:2015-09-21 22:11:24

标签: delphi

我第一次尝试使用Delphi 10(西雅图)编译Android应用程序并感到失望。它是一个使用sqlite数据库的小型测试应用程序。数据库只有一个记录很少的表(仅为测试目的而创建)。

我将所有内容(使用firedac组件)链接起来,并在Delphi IDE中显示我的数据。它也编译没有错误。该应用程序也显示在我的手机(HTC M8)上,但在启动画面后,屏幕变黑。没有 !

如果我断开FDConnection并编译,则屏幕在电话上显示OK(没有任何数据)。然后我尝试了这种方式:在表单上添加了一个按钮,我用来手动打开连接和表,但(运行时)得到一个firedac错误(无法打开数据库文件)。

我在这里缺少什么?为什么应用程序无法打开数据库?还有什么我必须做的吗?也许是微不足道的,但我之前从未做过Android应用程序。

2 个答案:

答案 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;