1. 准备工作
AppSheet 数据库 (ASDB) 是 AppSheet 的第一方原生数据库,用于整理和管理为 AppSheet 应用提供支持的数据。与 Google 表格、Big Query 和 Cloud SQL 等其他常用的外部数据源相比,其界面和改进后的性能可为应用开发者和最终用户提供更好的体验。AppSheet 数据库是所有 AppSheet 应用的默认数据选项。
学习内容
- 如何使用示例数据或从 Google 表格导入的数据创建新的 AppSheet 数据库。
- 如何在 AppSheet 数据库编辑器中自定义数据。
- 如何从 AppSheet 数据库生成 AppSheet 应用。
- 如何更改数据库并在 AppSheet 中重新生成表,以适应表结构变化。
构建内容
此 Codelab 会向您介绍如何生成和自定义新的 AppSheet 数据库,其中首先使用 AppSheet 数据库提供的默认数据,然后基于 Google 表格中的现有数据生成。然后介绍如何通过 AppSheet 数据库生成新的 AppSheet 应用。最后,本文介绍了如何在数据库编辑器中更改数据库表,然后在 AppSheet 应用编辑器中重新生成该表。
所需条件
- 访问 AppSheet 开发环境 (appsheet.com)。
2. 从头开始创建和自定义新的 AppSheet 数据库
首先,您需要使用默认的起始数据库,从头开始创建新的 AppSheet 数据库并对其进行自定义。这样,您就可以尝试数据库编辑器,而不会破坏 Codelab 中的后续步骤。
- 前往 AppSheet (appsheet.com) 首页,然后点击创建 > 数据库 > 新建数据库。
- 系统会创建一个新的示例数据库,并显示 AppSheet 数据库编辑器。
- 通过将数据库名称从未命名数据库更改为 Tasks DB 来自定义数据库。(双击默认标题 Untitled database,即可修改数据库名称)。
- 将表 1 的表名称更改为 Tasks。(双击该标签页即可进行修改)。
- 将第一列从 Title 更改为 Task。
- 点击左上角的 + 添加新记录。
- 双击状态列,查看枚举类型和下拉菜单项类型的使用方式。
- 可选:点击 = 符号后面的按钮以为每个下拉菜单选项着色。
- 可选:通过为 Status 枚举(点击 Add option)添加新选项以及新颜色进行进一步实验。
- 可选:尝试使用不同的列类型(例如颜色、进度、是/否和电话),然后观察他们的行为
您可以随意对数据库编辑器进行实验。在后续步骤中,您将创建一个新的数据库。
3. 通过从 Google 表格导入来创建和自定义新数据库
接下来的步骤展示了如何从 Google 表格导入数据。
通过 Google 表格创建数据库
- 首先,复制此公开的 Google 表格,并将其重命名为
ASDB: IO Codelab
。
请注意,它有两个标签页:Tasks 和 Owners。
- 和之前一样,转到 AppSheet (appsheet.com) 首页,然后点击创建 > 数据库 > 从 Google 表格导入。
- 在 Google 云端硬盘文件选择器中,选择工作表
ASDB: IO Codelab
的副本或您为其命名的任何内容。
系统随即会根据 Google 表格中的数据生成一个新的 AppSheet 数据库。
添加对 Tasks 表格的引用
接下来,在 Tasks 表格中添加对“所有者”表的引用。
- 在 AppSheet 数据库的“任务”表格中,双击所有者列,修改其设置。
- 将类型从文本更改为参考文件 > 参考文件。
- 将要引用的表设置为所有者,然后点击保存。
- 系统会显示有关更改列类型的警告。在这种情况下,此列中的数据与新列类型兼容,因此您可以点击是以继续操作。
- 然后,AppSheet 数据库会尝试将 Owners 表中的相应行与 Tasks 表中的名称进行匹配。由于此数据集匹配,因此 AppSheet 数据库应该在 Owner 列中填充正确的 Owners 行引用。
- 要测试引用,请点击“所有者”单元格,并将其更新为其他所有者,例如 Sarah。
选择后,新值 (Sarah) 会显示在“所有者”单元格(位于“任务”表格中)中。
更改所引用表的“标签”列
AppSheet 数据库允许您为任何表选择标签列。这样一来,您就可以指定要显示在父表中的列。此政策也控制关联的 AppSheet 前端应用的父级表格中显示的内容。因此,您可以改为在“任务”表格中显示“所有者”表格中的名称列(如前所述),而不应显示“所有者”表格中的电子邮件地址列。
- 为此,请将所有者表格中的“标签”列更改为电子邮件,方法是将鼠标悬停在电子邮件的右侧列标题,然后点击垂直省略号。
此操作会调用列的上下文菜单。
- 从上下文菜单中选择使用列作为标签,以将“列标签”设置为“电子邮件”列。
- 要查看“电子邮件”列已被选作引用“任务”表格的列标签,请点击任务表格标签页,您会发现“所有者”列现在显示电子邮件地址。您可能需要刷新浏览器才能看到更新后的“所有者”列。
4. 从 AppSheet 数据库生成 AppSheet 应用
完成数据库自定义后,您可以直接从数据库生成 AppSheet 应用。如果您希望使用自定义前端界面,需要添加自动化功能或安全过滤器等,此方法会非常有用。为此,请执行以下操作:
- 点击 ASDB 编辑器右侧的 Apps(应用)。
这会调用右侧的上下文菜单以生成新的应用。
- 点击 New AppSheet app 以生成新的应用。
在应用生成时,请注意,该应用存在警告:
Column "Owner" in Tasks_Schema has a reference to an unknown table or slice "Owners". Open the column definition to select a source table.
这是因为生成的应用只有“Tasks”表,并且其“所有者”列引用了未知表“所有者”。
如需解决此问题,请将 Owners 表添加到 AppSheet 应用中。
- 在 AppSheet 编辑器的数据页面中,点击 +。
- 在添加数据上下文菜单中,选择 AppSheet 数据库作为数据源。
- 然后,选择 ASDB:IO Codelab 数据库(或您在之前的步骤中为数据库命名的任何内容)。
- 在随后的对话框中,选中默认的全选复选框,然后点击添加到应用。
将 Owners 表添加到应用后,不再显示“应用”错误。
- 在添加了新的 Owners AppSheet 表后,您可以创建一个新的视图来显示此数据,方法是点击 AppSheet 中的视图页面,然后点击主要导航旁边的 +。
- 在添加新视图对话框中,点击创建新视图
- 创建新视图后,请设置以下选项:
视图名称:所有者;对于此数据:所有者;视图类型:deck
恭喜,您的应用现已大功告成!
- 要测试任务和所有者之间的引用,请在移动预览中点击所有者视图或任务视图,然后选择一条记录以查看相关(参考)记录。
例如,您可以点击所有者视图,然后点击某个记录以展开细目,以查看相关的任务记录。
5. 更改数据库并重新生成 Tasks 表格
现在,您已经创建了 AppSheet 数据库,并基于该数据库生成新的应用,接下来请尝试更改数据库中的表。更改列数据类型并观察关联的 AppSheet 应用中会发生的情况。
- 在数据库的 Tasks 表中,将 Due Date 列的类型更改为 Date and time > Date。
请注意,当您返回到 AppSheet 应用时,它会检测到数据库已更新并显示警告:
App Schema for table 'Tasks' is out of sync with the schema in AppSheet database. Please regenerate the table structure
- 如需重新生成,请点击右上角的 重新生成图标。
- 这会触发一个警告对话框:
- 点击重新生成以继续。这会将应用中的截止日期列类型更新为 Date 类型,并在 Task 的 Edit 表单中启用日期选择器输入元素记录。
6. 恭喜
您已完成 AppSheet 数据库 (ASDB) Codelab!
深入阅读
- AppSheet 数据库官方文档网站