移动教程:在移动应用程序(iOS和Android)中使用FireDAC

来自RAD Studio
跳转到:航行,搜索

转到移动教程:移动应用程序开发(iOS和Android)

本教程描述了通过FireDAC框架在移动设备上使用SQLite作为本地数据存储的基本步骤。

网间网操作系统 安卓

IPod运行时间.png

机器人TRunTime.png


使用FireDAC连接到数据库

FireDAC是一组独特的通用数据访问组件用于为Delphi和C++Builder开发多设备数据库应用程序。凭借其强大的通用体系结构,FireDAC支持从Delphi到InterBase、SQLite、MySQL、SQL Server、Oracle、PostgreSQL、IBM DB2、SQL Anywhere、access、Firebird、Informix等的本地高速直接访问。

FireDAC本机驱动程序支持SQLite数据库3.0版及更高版本。有关Delphi应用程序在FireDAC中使用SQLite的详细讨论,请阅读“将SQLite与FireDAC结合使用“文章。

要在应用程序中使用SQLitesqlite3.dll文件必须存在于开发系统中。如果此文件不存在,请从下载sqlite3.dllhttp://www.sqlite.org/download.html到系统路径(例如C: \Windows\SysWOW64对于64位Windows上的32位应用程序)。

设计和设置用户界面

创建新项目。选择一个多设备应用程序.

  1. 删除一个TFD连接表单上的组件。
  2. 右键单击TFD连接组件并选择连接编辑器.
  3. 在FireDAC连接编辑器中,设置TFD连接:
    1. 设置驱动程序ID属性到数据库.
    2. 设置数据库参数设置为:
      C: \Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Data\Employees.s3db(数据库的位置)
      然后单击正常开放在“文件打开”对话框中。
      (要显示员工.s3db在“打开”对话框中,将所有文件(*.*)选项。)
      连接EdtFD.png

    3. 单击测试按钮测试连接。
      测试连接成功.png

    4. 点击好 啊关闭连接编辑器。
  4. 对象检查器,设置以下属性TFD连接:
    1. 设置登录压缩程序属性到False(错误),这样就不会提示用户登录。
    2. 设置有联系的属性到真的.

使用LiveBindings向导

使用LiveBindings向导添加LiveBindings组件(TBindSourceDB(绑定源数据库),TBindingsList(绑定列表)),TFD查询、和T列表视图组件。

添加LiveBinding组件

  1. 选择查看>LiveBindings DesignerLiveBindings设计器打开。
  2. 选择LiveBindings向导.
    选择LiveBindWizard.png

  3. 选择创建数据源绑定任务。
  4. 单击下一步按钮。
  5. 选择消防DAC类名称。
  6. 单击下一步按钮。
  7. 更改命令类型查询.
  8. 设置命令文本属性到按部门从员工订单中选择姓名、部门、资历.
    LiveBindWizardFD.png

  9. 单击测试命令按钮。
  10. 单击下一步按钮。
  11. 单击完成按钮。

在这一点上,TBindSourceDB(绑定源数据库)TFD查询组件已添加到表单中。

添加ListView组件

  1. 重新打开LiveBindings向导.
  2. 选择将控件与字段链接绑定任务。
    控制字段向导.png

  3. 单击下一步按钮。
  4. 选择T列表视图.
  5. 单击下一步按钮。
  6. 选择绑定源DB1.
  7. 单击下一步按钮。
  8. 选择姓名字段名称。
    字段名称向导.png

  9. 单击下一步按钮。
  10. 单击完成按钮关闭向导。

使用LiveBindings向导

LiveBindings设计器

使用LiveBindings设计器TBindSourceDB(绑定源数据库)T列表视图组件。

  1. 选择ItemHeader。文本成员来自T列表视图.
  2. 绑定到部门的成员绑定源DB1组件(显示一条连接线)。
  3. 选择项目。文本成员来自T列表视图.
  4. 绑定到姓名的成员绑定源DB1组件(显示一条连接线)。
  5. 在对象检查器中,设置以下属性T列表视图:
    1. 设置项目外观图像列表项右按钮.
      LiveBindings设计器,的T列表视图应该有一个新成员,项目。按钮文本.
    2. 设置排列属性到顾客.
  6. LiveBindings设计器,选择项目。按钮文本来自的成员T列表视图.
  7. 绑定到资历的成员绑定源DB1通过拖动组件(出现连接线)。

为运行时准备应用程序

FireDAC具有松散耦合的多层架构,其中层提供服务。服务API定义为其他层可以使用接口工厂请求的COM接口。

要正确操作FireDAC,必须将IFDGUIx等待光标IFD原因驱动程序应用程序的接口。

为此,放下TFDGUIxWaitCursor(TFDGUIxWaitCursor)TFDPhysSQLiteDriverLink表单上的组件。

为移动设备设置数据库部署

到目前为止,您已经在桌面上使用了SQLite。这意味着实际数据库位于本地硬盘上(例如C:\Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Data\Employees.s3db)。在移动设备上,应用程序是沙盒式的,通常您只能读取和写入位于文件文件夹(适用于iOS设备)和内部的应用程序文件夹下的存储(适用于Android设备)。

要连接到移动设备上的本地数据库,您需要执行以下操作:

  • 将数据库部署到移动设备。
  • 将配置(连接到数据库文件)更改为文件文件夹(适用于iOS设备)或内部的存储(适用于Android设备)。

在部署管理器中添加和配置数据库文件

在移动设备上运行应用程序之前,需要为数据库文件(Employees.s3db)设置部署。

  1. 打开部署管理器通过选择项目>部署.
  2. 选择添加文件并选择数据库文件(例如,C:\Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Data\Employees.s3db)。
    添加数据库文件.png

  3. 选择员工.s3db、和更改远程路径启动\文档\(对于iOS平台)或资产\内部\(适用于Android平台)。
    iOS设备平台上的RemotePath
    部署ios64.png

    Android平台上的RemotePath
    Android远程路径资产.png

  4. 选择平台列(双击Employees.s3db行中的省略号[…]):
    1. 确保iOS设备64安卓为Employees.s3db提供。
    2. 如果存在Win32,请将其从列表中删除(无需将数据库文件复制到Win32平台)。
  5. 选择所有配置-iOS设备-64位平台所有配置-Android平台并确保员工.s3db设置为部署到启动\文档\资产\内部\.

正如您刚才配置的那样,当您在移动设备上运行应用程序时,数据库文件(Employees.s3db)被设置为部署到文件文件夹(适用于iOS平台)或内部的应用程序沙盒区域中的存储(用于Android平台)。

修改代码以连接到Mobile上的本地数据库文件

此应用程序的基本功能现已实现。此应用程序中使用的数据库文件是在Windows上创建的,除非您将其复制到移动设备或动态创建,否则该文件在您的移动设备上不可用。

指定SQLite数据库在移动设备上的位置

  1. 在表单设计器中,选择FD连接1组件。
  2. 对象检查器,双击连接之前事件。
  3. 将以下代码添加到此事件处理程序:

德尔福:

程序 T形1.FDConnection1连接前(发件人: TObject(目标));
开始
  FD连接1.参数.['数据库'] := T路径.联合收割机(T路径.获取文档路径, '员工.s3db');
结束;

这个T路径记录在中声明系统。IO实用程序单位,所以您需要添加系统。IO实用程序在你单位的uses子句中。

C++语言:

空隙 __快速呼叫 T形1时间:FDConnection1连接前(TObject(目标) *发件人)
{
          FD连接1->参数->[“支持的列元数据”] = “错误”;
          FD连接1->参数->[“数据库”] = 系统时间:Ioutils公司时间:T路径时间:联合收割机(系统时间:Ioutils公司时间:T路径时间:获取文档路径(), “员工.s3db”);
}

这个T路径记录在中声明系统。IO实用程序库,因此您需要添加#包括<系统。欠条.hpp>在您的标题单元中。

在移动设备上运行应用程序

现在您的应用程序可以运行了(选择运行>运行).

网间网操作系统 安卓

IPod运行时间.png

机器人TRunTime.png

另请参阅