Delphi FMX - Android API 26 -使用UniDAC的SQLite数据库连接

brccelvz  于 2022-12-13  发布在  SQLite
关注(0)|答案(1)|浏览(302)

我正在使用Tokyo 10.2.3和UniDAC组件与Android API 26平台上的SQLite数据库进行交互。到目前为止,在Dave的帮助下:
http://www.delphiworlds.com/2018/06/targeting-android-8-and-higher-continued/
...该应用程序可以正常访问“TakePhoto”、“Positioning”、“W/R to external storage "... UniDAC MySQL连接也可以正常工作,但似乎不需要进一步的权限。
但是我再也无法连接到我的SQLite数据库了。在从SDK 14更改为SDK 26之前,连接工作得很好。在我看来,就像Dave在他的博客中描述的那样,访问“外部”URI是一个问题。我更改了Manifest.xml,添加了一个文件提供程序,还添加了provider_paths.xml。
选择UniDAC为String的数据库文件的方式:

SQLiteConnection1.Database := TPath.Combine(TPath.GetDocumentsPath, 'test.db');

外面有什么办法或者帮助吗?

bfhwhh0e

bfhwhh0e1#

犁沟路径:资产\内部
UniConnection。直接更改为true在连接前添加到UNIAC

procedure TDataModule1.UniCon_SQliteBeforeConnect(Sender: TObject);
begin
  {$IF DEFINED(iOS) or DEFINED(ANDROID)}
  DataModule1.UniCon_SQlite.Database :=
  TPath.Combine(TPath.GetDocumentsPath, 'st_pass.db');
  {$ENDIF}
end;

相关问题