1、 Embarcadero 技术手册(移动开发教程)3 目 录 第一章 移动应用程序开发(iOS 和 Android).17 1.安装与配置安装与配置.17 2.使用基本用户界面控件使用基本用户界面控件.18 3.使用设备功能使用设备功能.20 4.使用后端服务使用后端服务.21 5.访问数据库访问数据库.21 第二章 配置 Mac 上的开发环境(IOS).23 2.1 Mac 和 iOS 的要求.23 2.2 配置 Mac 上的 iOS 模拟器.24 2.2.1 安装平台助手.24 2.2.2 运行平台助手.25 2.2.3 在 Mac 上安装的 Xcode.26 2.3 配置 Mac 上 i
2、OS 硬件设备运行环境.28 2.3.1 在 Mac 上安装 Xcode 命令行工具.28 2.3.2 注册一个开发者账户.30 2.3.3 申请、下载并安装你的开发证书.30 2.3.4 注册您的设备.32 2.3.5 创建与安装配置文件.33 第三章 配置 WINDOWS PC 上的开发环境(iOS).36 Embarcadero 技术手册(移动开发教程)4 3.1 配置 RAD Studio 环境.37 3.1.1 创建与 Mac 连接的配置.37 3.1.2 为 iOS 设备添加一个 SDK.40 第四章 配置 WINDOWS PC 上的开发环境(Android).43 4.1 设置
3、RAD Studio 环境.43 4.1.1 安装 RAD Studio时 android 开发工具安装选项.44 4.1.2 在开发环境中配置 Android SDK.46 4.2 安装 Android USB 驱动程序(必须).50 第五章 创建移动平台应用程序(iOS and Android).54 5.1 在你开始之前.54 5.2 创建一个新的 Android 或 iOS FireMonkey 应用.55 5.3 选择 Style.56 5.4 在多设备窗体上放置组件.56 5.5 添加视图到项目.60 5.6 编写用户单击按钮的事件处理程序.60 5.7 测试移动应用程序.62 5
4、7.1 在 Android 设备上测试应用程序.63 5.7.2 在 iOS 测试应用程序.64 第六章 使用不同风格的按钮控件(iOS and Android).67 6.1 移动平台中的按钮.67 6.2 定义按钮控件的友好界面.68 Embarcadero 技术手册(移动开发教程)5 6.2.1 使用按钮控件的 TintColor 和 IconTintColor 属性.69 6.2.2 自定义按钮控件的图片.71 6.3 使用按钮控件创建 Segmented Control.72 6.4 在工具栏创建 Scope Bar.74 第七章 使用日历控件选取日期 (iOS and Andro
5、id).76 7.1 移动平台中的日历.76 7.2 为用户更改的日期编写事件处理程序.78 第八章 组合框控件的使用(iOS and Android).81 8.1 多设备应用程序中的选择器.81 8.2 使用代码建立列表数据项.84 8.3 显示一个指定的项目.84 8.4 编写用户选择后的事件处理程序.86 第九章 使用地图控件(iOS and Android).88 9.1TMapView 控件的基本功能.89 9.2 创建示例应用程序.89 9.2.1 配置 Android 应用程序以使用 TMapView 控件.89 9.2.2 设计用户界面.89 9.3 运行这个应用程序.94
6、第十章 配置 Android 应用程序使用谷歌地图.97 10.1 获取谷歌地图 API 密钥.97 10.1.1 检索您的应用程序证书.97 Embarcadero 技术手册(移动开发教程)6 10.1.2 在谷歌 Api 控制台中创建 API 项目.98 10.1.3 申请 Maps API 密钥.99 10.2 设定具体项目的选项.99 10.2.1 在许可列表中检查配置.100 10.2.2 检查受权列表.101 10.2.3 设置 apiKey键值.102 第十一章 使用 MultiView 控件(iOS and Android).104 11.1 关于 TMultiView 组件.
7、104 11.1.1 主面板呈现方式.105 11.2 设计用户界面.109 11.3 运行示例应用程序.115 11.4 移动应用使用 TMultiView 的样例程序.116 第十二章 使用 Web 浏览器控件(iOS and Android).118 12.1 设计用户界面.119 12.2 编写 Edit 改变 URL 后自动打开网页的处理程序.121 12.2.1 编写一个打开网页的公用方法.122 12.2.2 编写 OnChange 事件处理程序代码.123 12.2.3 编写 Back 按钮的事件处理程序.124 12.3 为 Web 浏览器应用程序选择适合的虚拟键盘.125
8、12.4 移动应用使用 WebBrowser 的样例程序.126 第十三章 使用选项卡控件(iOS and Android).128 Embarcadero 技术手册(移动开发教程)7 13.1 让 iOS 与 Android 上的选项卡使用本机样式.128 13.2 在窗体设计器中设计选项卡.129 13.2.1 比较 iOS 与 Android 平台上选项卡设置.133 13.3 让选项卡使用自定义的多分辨率图标.139 13.3.1 在选项卡上显示多分辨率自定义图标.140 13.3.2 使用单分辨率位图为自定义图标.143 13.4 轻松管理选项卡内部控件.145 13.5 在运行时更
9、改页面.147 13.5.1 通过用户点击选项卡.147 13.5.2 通过 Actions 与 ActionList.147 13.5.3 通过代码.152 第十四章 使用 LiveBindings 填充 ListView (iOS and Android).154 14.1 创建项目.154 14.2 添加字段.156 14.3 创建 LiveBindings.157 14.3 添加更多的字段(图像、价格).160 14.5 添加 onButtonClick 事件处理程序.161 14.5.1 添加 onButtonClick 事件处理程序.161 14.6 查看结果.162 第十五章 使
10、用 ListBox 控件显示数据(iOS and Android).164 15.1 使用 ListBox 控件在移动平台上显示表数据.164 Embarcadero 技术手册(移动开发教程)8 15.1.1 普通列表.164 15.1.2 分组列表.165 15.1.3 搜索框.166 15.2 创建 ListBox 列表项.166 15.2.1 添加标题.169 15.2.2 添加组页眉/页脚到列表.170 15.2.3 分组显示各自的列表项.171 15.2.4 添加复选框或其他附件到列表项.172 15.2.5 添加图标到列表项.172 15.2.6 添加详细信息到项目.173 15.
11、2.7 运行应用程序.173 15.3 创建 ListBox 应用程序.173 15.3.1 从您的代码添加项目到 ListBox.174 15.3.2 创建一个溢出菜单.177 15.3.3 创建溢出按钮的事件处理程序.179 15.3.4 增加搜索框.180 15.3.5 运行应用程序.181 第十六章 使用 LiveBindings 来填充 ListBox (iOS and Android).183 16.1 创建项目.183 16.2 创建 LiveBindings.186 16.3 结果.188 Embarcadero 技术手册(移动开发教程)9 第十七章 让布局适应不同大小与方向窗
12、体 (iOS and Android).190 17.1FireMonkey 控件特性.190 17.2FireMonkey 控件常见布局属性.190 17.2.1 Align 属性.190 17.2.2 Margins 属性.192 17.2.3Padding 属性.192 17.2.4Anchors 属性.193 17.3 使用 Tlayout 控件.194 第十八章 拍摄并分享照片,分享文本 (iOS and Android).196 18.1 教程主题.200 第十九章 使用位置传感器(iOS and Android).201 19.1 设计用户界面.202 19.3 读取位置信息(纬
13、度、经度).204 19.2 位置传感器.204 19.4 在谷歌地图上显示当前位置.206 19.5 使用反向地理编码.207 19.6 在列表框中显示一个可读的地址.210 19.7 提升用户授权开启位置传感器的方法.211 第二十章 使用通知提示(iOS and Android).212 20.1 三个基本的通知或警报样式.212 20.2 移动设备上的通知中心.213 20.3 访问通知服务.214 Embarcadero 技术手册(移动开发教程)10 20.4 添加 FMLocalNotificationPermission(仅 iOS 8).215 20.5 从代码中设置图标徽章数
14、和通知数.215 20.6 计划通知.217 20.7 重复通知消息.219 20.8 更新或取消一个计划(或重复)通知消息.221 20.9 立即提交通知消息.222 20.10 自定义通知声音.224 20.11 横幅通知或提示通知.228 20.12 给提示通知增加控制(仅 iOS).229 20.13 添加通知响应.231 20.14 运行应用.232 第二十一章 使用远程通知(iOS and Android).233 21.1 远程推送通知.233 21.2 REST BAAS 框架.234 21.3 教程主题.234 第二十二章 多设备应用程序接收推送通知.235 22.1 设计和
15、设置用户界面.235 22.2 创建事件处理程序.240 22.3 Android 的设置.243 22.4 iOS 的设置.244 22.5 在移动设备上运行您的应用程序.244 Embarcadero 技术手册(移动开发教程)11 第二十三章 在移动设备上使用电话拨号程序 (iOS and Android).249 23.1 关于移动设备上的电话拨号服务.249 23.2 访问电话拨号服务.249 23.3 设计用户界面.251 23.4 获取运营商信息.251 23.4.1 运行应用程序.252 23.5 拨打电话.253 23.6 检测通话状态的变化.255 23.6.1 编写 OnC
16、allStateChanged 事件处理程序.256 第二十四章 使用 BaaS 后端存储(iOS and Android).261 24.1 在 Kinvey 与 Parse 中准备你的应用程序.262 24.2 设计和设置的用户界面.262 24.3 添加后端控件.263 24.4 创建和存储对象.265 24.5 删除对象.266 24.6 检索对象.268 24.7 运行你的应用程序.272 第二十五章 使用 dbExpress 访问 InterBase ToGo (iOS and Android).274 25.1 使用 dbExpress 连接数据库.275 25.2 设计与设置用
17、户界面.276 25.3 连接到数据.277 Embarcadero 技术手册(移动开发教程)12 25.4 部署您的应用程序到移动设备.280 25.4.1 在移动设备上部署 InterBase ToGo、dbExpress 驱动及数据文件.280 25.4.2 修改代码以连接到移动设备本地数据库文件.283 25.5 在模拟器或移动设备上运行应用程序.285 25.6 故障排除.286 第二十六章 使用 FireDAC 访问 InterBase ToGo (iOS and Android).288 26.1 使用 FireDAC 连接数据库.290 26.2 设计与设置用户界面.290 2
18、6.3 连接到数据.291 26.4 部署您的应用程序到移动设备.295 26.4.1 在移动设备上部署 InterBase ToGo 所必须的文件及数据文件.295 26.5 在模拟器或移动设备上运行应用程序.298 26.6 故障排除.299 第二十七章 使用 dbExpress 访问 SQLite (iOS and Android).301 27.1 使用 dbExpress 连接数据库.302 27.2 在 Windows 下创建开发数据库.302 27.2.1 在数据资源管理器创建数据库.302 27.2.2 在数据资源管理器中创建表.304 27.3 设计与设置用户界面.305 2
19、7.4 连接到数据.307 27.5 编写显示删除按钮的功能.309 Embarcadero 技术手册(移动开发教程)13 27.6 编写新建条目功能.310 27.7 创建删除按钮事件处理程序.314 27.8 设置移动平台数据库部署.316 27.8.1 在 Deployment Manager 添加并配置您的数据库文件.316 27.9 修改代码以连接到移动设备本地数据库文件.317 27.9.1 指定在移动设备上的 SQLite 数据库的位置.317 27.9.2 自动创建表.318 27.10 在模拟器或移动设备上运行应用程序.319 第二十八章 使用 FireDAC 访问 SQLi
20、te (iOS and Android).322 28.1 使用 FireDAC 连接数据库.323 28.2 使用 FireDAC 创建数据库.323 28.3 设计与设置用户界面.325 28.4 使用 LiveBindings 向导.327 28.4.1 添加 LiveBinding 控件.327 28.4.2 连接数据.329 28.4.3 在 ListView中显示 shopitem.331 28.5 编写显示删除按钮的功能.331 28.6 编写新建条目功能.332 28.7 创建删除按钮事件处理程序.336 28.8 为运行应用程序作准备.338 28.9 设置移动平台数据库部署
21、338 Embarcadero 技术手册(移动开发教程)14 28.9.1 在 Deployment Manager 添加并配置您的数据库文件.338 28.10 修改代码以连接到移动设备本地数据库文件.339 28.10.1 指定在移动设备上的 SQLite数据库的位置.339 28.10.2 自动创建表.340 28.11 在模拟器或移动设备上运行应用程序.341 第二十九章 从移动客户端连接到企业数据库(iOS and Android).343 29.1 创建中间层 DataSnap 服务.344 29.1.1 创建 DataSnap 服务 VCL 应用程序.344 29.1.2 定义
22、 DataSnap 服务器上的数据集.346 29.1.3 暴露 DataSnap 服务器数据集.348 29.1.4 运行 DataSnap 服务.349 29.2 创建连接到 DataSnap 服务器的移动应用程序.350 29.3 部署 MIDAS 库到 iOS 模拟器.353 29.4 在移动平台上运行你的应用程序.353 第三十章 在移动应用中使用 FireDAC (iOS and Android).355 30.1 使用 FireDAC 连接数据库.355 30.2 设计与设置用户界面.356 30.3 使用 LiveBindings 向导.357 30.3.1 添加 LiveBi
23、nding 控件.357 30.3.2 添加 ListView 控件.359 30.4 在 ListView 中显示数据.361 Embarcadero 技术手册(移动开发教程)15 30.5 为运行应用程序作准备.362 30.6 设置移动平台数据库部署.362 30.6.1 在 Deployment Manager 添加并配置您的数据库文件.362 30.7 修改代码以连接到移动设备本地数据库文件.363 30.7.1 指定在移动设备上的 SQLite 数据库的位置.363 30.8 在模拟器或移动设备上运行应用程序.365 附一:在目标平台上按钮可使用样式与颜色汇总表.370 附二:An
24、droid 权限设置.376 为 FireMonkey Android 应用程序设置一些基本的权限.376 Internet 权限始终设置为开发配置.377 基本使用权限.377 高级用途权限.382 附三:使用 Action Lists 拍摄和分享图片及分享文本.386 构建应用程序的用户界面.386 用移动设备摄像头拍照.387 将图片保存到设备照片库.389 使用移动设备图片库中的图片.390 使用图像编辑.390 共享或打印图片.393 共享文本.394 请参见.396 附四:使用 FireMonkey 接口拍照.397 构建您的应用程序的用户界面.397 Embarcadero 技术
25、手册(移动开发教程)16 使用设备上的相机拍照.398 运行应用程序.400 将图片保存到设备照片库.401 从设备图片库中选择一张图片.402 请参见.404 附五:部署 IBLite 和测试 IBToGo 许可.405 IBLite 许可证.405 IBToGo 测试部署试用许可证.407 IBToGo 生产部署许可证.409 从早期产品版本迁移 InterBase 的 IBLite 和 ToGo.410 也可以看看.410 Embarcadero 技术手册(移动开发教程)17 第一章 移动应用程序开发(iOS和Android)这套教程引导您通过Delphi或C+开发用于iOS和Andro
26、id的多设备应用:o 在三个初始设置教程后,第一个教程告诉你如何安装与配置iOS或Android应用程序使用FireMonkey工具。o 其余的教程演示FireMonkey控件,以便让您体验与学习iOS与Android应用程序的开发。1.安装与配置安装与配置 o o 配置MAC上的开发环境(iOS)o 移动开发教程:移动应用程序开发(iOS和Android)配置WINDOWS PC上的开发环境(iOS)这些移动开发教程英文版PDF可以到这里下载:http:/ 配置WINDOWS PC上的开发环境(Android)Embarcadero 技术手册(移动开发教程)18 使用基本用户界面元素 2.使
27、用基本用户界面控件使用基本用户界面控件 o o o o o o 创建一个多设备应用(iOS/Android)使用不同风格的按钮控件(iOS/Android)使用日历组件来选择日期(iOS/Android)使用组合框组件从列表中选择项目(iOS/Android)使用地图组件与地图一起工作(iOS/Android)使用Multi View组件(iOS/Android)Embarcadero 技术手册(移动开发教程)19 o o o o o o 使用 Web Browser 组件(iOS/Android)使用标签组件显示页面(iOS/Android)使用LiveBindings来填充一个ListView(iOS/Android)使用列表框组件来显示一个表视图(iOS/Android)通过LiveBindings填充列表框(iOS/Android)使用布局调整不同的窗体大小或方向(iOS/Android)






