APEX实战第2篇:构建自己第一个APEX程序
为了尽快实现从0到1的突破,第一个程序就选择一个最简单易懂的生活场景。
后续随着APEX学习过程不断迭代增强这个程序。
现在就开始吧,我给孩子看一些公开网络课时,习惯把课程资源做分片,然后有计划的让孩子坚持去看。
比如把一门课拆分成很多个部分,每部分是一周的内容,一周的内容又按照天粒度继续细分。
我这里示例,就是更细致的做了分片,按照周、天的形式。
但是孩子实际去看时,发现因为各种不可抗力,比如无法每天都有时间看所有类型的课,久而久之会造成各门课的进度不统一,需要手工记录下来每天的学习进度,之前是通过Excel图表的形式记录的,为了一些交互式的效果还用到了宏。
今天就开始通过APEX来实现这个事情。
APEX的环境已经在《APEX实战第1篇:本地部署拥有AI能力的APEX》搭建好了,我这里按之前步骤,新建了一个新的普通工作区:alfred。

登录到工作区后,直接在应用程序构建器下选择创建第一个APEX程序,然后在SQL工作室下创建数据库对象,选择创建表:


创建表成功后,插入几行数据。
然后创建一个交互式报表,确认选择包括表单页,表单页模式选择的抽屉模式。

通过简单的按钮功能,添加了主页和
最后效果如下,主页是这样:

点击主页的当前进度按钮,或侧边栏的学习进度还可以跳转到交互式报表,并且能够在表单页上直接对想修改的内容进行更新操作:

不禁感叹,APEX平台真的是太方便了,构建一个网页应用程序从未如此简单,遥想当年为了弄个给孩子喂奶的记录程序,可是吭哧吭哧废了很多周折,那时候笔者还不知道有APEX这种神器。
APEX实战第2篇:构建自己第一个APEX程序的更多相关文章
- Photon开发实战(2)——开发框架、第一个Photon程序
Photon基础开发框架 Photon (v4)的基本框架.开发框架主要Photon和游戏逻辑(C#)两个部分,如下图最新的Photon v4支持的4种底层协议,游戏开发逻辑Photon目前主要划分为 ...
- 【SSH三大框架】Hibernate基础第一篇:编写第一个Hibernate程序
接下来这几章节学习的是Hibernate,Hibernate的主要作用就是用来和数据库进行连接,简化了JDBC的操作. 首先,我们创建项目,然后把Hibernate的jar包和sqlserver的驱动 ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- xgboost入门与实战(原理篇)
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- xgboost入门与实战(实战调参篇)
https://blog.csdn.net/sb19931201/article/details/52577592 xgboost入门与实战(实战调参篇) 前言 前面几篇博文都在学习原理知识,是时候上 ...
- [徐培成系列实战课程]docker篇
[徐培成系列实战课程]docker篇 如何利用docker快速构建Spark独立模式的集群 1.介绍 利用docker容器技术快速构建跨节点的独立模型的Spark大数据集群.Spark是时下非常热门的 ...
- Spring Cloud实战 | 第十篇 :Spring Cloud + Seata 1.4.1 + Nacos1.4.0 整合实现微服务架构中逃不掉的话题分布式事务
Seata分布式事务在线体验地址:https://www.youlai.store 本篇完整源码地址:https://github.com/hxrui/youlai-mall 有想加入开源项目开发的童 ...
- Spring Cloud实战 | 第十一篇:Spring Cloud Gateway 网关实现对RESTful接口权限控制和按钮权限控制
一. 前言 hi,大家好,这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT实现的统 ...
- spring boot实战(第十三篇)自动配置原理分析
前言 spring Boot中引入了自动配置,让开发者利用起来更加的简便.快捷,本篇讲利用RabbitMQ的自动配置为例讲分析下Spring Boot中的自动配置原理. 在上一篇末尾讲述了Spring ...
- 跟Google学习Android开发-起始篇-构建你的第一个应用程序(4)
说明:此系列教程翻译自Google Android开发者官网的Training教程,利用Chome浏览器的自动翻译功能作初译,然后在一些语句不顺或容易造成误解的地方作局部修正.方便英文不好的开发者查看 ...
随机推荐
- IM开发干货分享:浅谈IM系统中离线消息、历史消息的最佳实践
本文由融云技术团队原创分享,原题"IM 消息数据存储结构设计",内容有修订. 1.引言 在如今的移动互联网时代,IM类产品已是我们生活中不可或缺的组成部分.像微信.钉钉.QQ等是典 ...
- conda创建label标注环境
conda create -n label python=3.6 conda activate label pip install labeimg -i https://pypi.tuna.tsing ...
- 今天记录一下管理系统中预览pdf的方法
在管理系统中,有很多需要预览文件的操作,既方便用户查看又可以不用打开新的页面,我发现一个不错的方法,记录一下 <el-dialog title="" :visible.syn ...
- Omnivore 替代品 Readeck 安装与使用教程
前段时间 Omnivore 宣布服务关停,作为一个长期使用 Omnivore 的用户,我需要寻找替代方案. 我对替代品的核心需求是: 浏览器插件:支持一键剪藏当前网页. RSS 支持:能够输入 RSS ...
- CDS标准视图:ABC标识文本 I_ABCIndicatorText
视图名称:ABC标识文本 I_ABCIndicatorText 视图类型:基础视图 视图代码: 点击查看代码 @EndUserText.label: 'ABC Indicator - Text' @V ...
- 【分享】 100+ 套开源大数据可视化大屏Html5模板,全网最炫!
今天给大家分享 100+ 套开源大数据可视化炫酷大屏Html5模板,全网最新.最多.最全.最酷.最炫的大数据可视化模板! 项目介绍 BigDataView提供了100+套大数据可视化炫酷大屏Html5 ...
- dart变量声明和变量类型
ps==>所有的代码必须放在main方法中 main方法有两种写法 1==> main() { print("你好,dart我们相遇了"); } 2==> voi ...
- Q:Oracle表空间使用权限错误:ORA-01950
使用A用户账号(默认表空间tablespace_A),A用户表中插入数据报错ORA-01950 报错处理方法: 方法1:授予用户A unlimited tablespace权限 grant unlim ...
- 为什么Raft算法是分布式系统的首选?
背景 当今的数据中心和应用程序在高度动态的环境中运行,为了应对高度动态的环境,它们通过额外的服务器进行横向扩展,并且根据需求进行扩展和收缩.同时,服务器和网络故障也很常见. 因此,系统必须在正常操作期 ...
- Ansible - [05] 配置文件详解
主配置文件 ansible.cfg 修改sudo相关配置,在实际工作中,可能使用ansible时,所使用的用户并不是root用户,而是管理员给的一个普通用户,所以需要考虑ansible相关配置文件需要 ...